Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
W sumie nie widziałem co z tym zrobić i nie sprawdzałem, zaraz zobaczę. xD
Póki co sprawdziłem live cd oraaz wina. Ten sam plik 1GiB, ten sam pen, różnica taka, że na lapku są 2 GiB, no i oczywiście nie dałem rady zapchać tych 2 GiB więc się nie dowiem czy były by ściny. W każdym razie testowałem jedną partycję, tą z fat32, bo mam ją jako pierwszą, a nie mam pojęcia jak w windowsie włączyć by czytał inne partycje na penie, ale tą wykrył i biorąc pod uwagę to co się dzieje z nią na debianie, to ją poddałem testom. Wyniki poniżej:
Windows:
Kopiowanie z pena na dysk -- transfer 18MB/s
Kopiowanie z dysku na pena -- 6,5MB/s (na debianie było koło 1MiB)
W obu przypadkach lampka przestaje migać natychmiast po zakończeniu kopiowania.
Zajęcie ramu w przypadku kopiowania na pena różni się max 10-15MiB w stosunku do tego co było przed kopiowaniem. Natomiast przy kopiowaniu z pena na dysk, to ramu już przybywa prawie o 200MiB. To jest ramu, nie cache, nawet nie wiem jak to pod winem sprawdzić.
Debian live:
Kopiowanie z pena na dysk -- transfer 18,6MB/s
Kopiowanie z dysku na pena -- 13,5MB/s -- debian live wygrał xD Ale trzeba było jeszcze czekać 2min aż lampka przestanie migać.
Zużycie ramu --50 więcej przy odczycie i 10 więcej przy zapisie na pena.
Ubuntu live
Kopiowanie z pena na dysk -- transfer 17,4MB/s
Kopiowanie z dysku na pena -- 8,6MB/s -- lampka gaśnie 20s po zakończeniu kopiowania
Zużycie ramu 40Mib przy odczycie i 10 przy zapisie
Czyli jak widać, każdy system czyta bez problemu tę partycję z realnymi wartościami, tylko debian coś poleciał sobie z zapisem.
Teraz kwestia sync. Przetestowałem to tylko na ubuntu ale biorąc pod uwagę wynik, to tak samo będzie chyba na każdym systemie -- 200 KiB :] I mimo, że ubuntu zajebiście wgrywa dane na tego pena, to sync ma taki sam jak tutaj na debianie. Wam ten sync dobrze działa?
EDIT:
Ta linijka nie działa. Tnie się jak się cieło. W htop mam takie coś:
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ IO IORR IOWR Command 7760 morfik 20 0 651M 16856 11616 S 0.0 1.6 0:16.21 0 0 0 │ │ │ ├─ spacefm 8524 morfik 20 0 651M 16856 11616 S 0.0 1.6 0:02.46 0 0 0 │ │ │ │ ├─ spacefm 7767 morfik 20 0 651M 16856 11616 S 0.0 1.6 0:00.00 0 0 0 │ │ │ │ ├─ spacefm 7761 morfik 20 0 651M 16856 11616 S 0.0 1.6 0:00.00 0 0 0 │ │ │ │ └─ spacefm
Z czego tylko pierwsze dwa procesy -- 7760 oraz 8524 zjadają IO podczas kopiowania. Z tym, że ten drugi za każdym razem gdy zacznę coś kopiować jest inny. Mogę zastopować transfer w spacefm i tak zrobiłem, bo to się naprawdę nieziemsko przycina i ciężko jest cokolwiek robić gdy to się dzieje. W każdym razie dałem
root:~# ionice -c 3 -t -p 7760 root:~# ionice -c 3 -t -p 8524
Po czym odpauzowałem kopiowanie i dalej się tnie :]
Ostatnio edytowany przez morfik (2013-11-14 22:42:35)
Offline
W końcu rozwiązałem ten problem! Trzeba ustawić te dwa parametry:
echo $((16*1024*1024)) > /proc/sys/vm/dirty_background_bytes echo $((48*1024*1024)) > /proc/sys/vm/dirty_bytes
Więcej info na: http://lwn.net/Articles/572911/
Offline
Dopisz sobie do sysctl.conf, tak będzie bardziej elegancko.
vm.dirty_background_bytes = 16777216 vm.dirty_bytes = 50331648
Offline
Dopisałem ale coś nie chce ustawić.
root:~# cat /etc/sysctl.conf | grep -i dirty vm.dirty_background_bytes=16777216 vm.dirty_bytes=50331648 root:~# sysctl -a | grep -i vm.dirty_background_bytes vm.dirty_background_bytes = 0 root:~# sysctl -a | grep -i vm.dirty_bytes vm.dirty_bytes = 0 root:~# sysctl -p kernel.sched_autogroup_enabled = 1 vm.dirty_background_bytes = 16777216 vm.dirty_bytes = 50331648 root:~# sysctl -a | grep -i vm.dirty_background_bytes vm.dirty_background_bytes = 16777216 root:~# sysctl -a | grep -i vm.dirty_bytes vm.dirty_bytes = 50331648
Ale po reboocie dalej są ustawione na 0.
Wychodzi na to, że:
/etc/init.d/procps.sh comes too early in the boot process to apply a lot of sysctl's. As it runs before networking modules are loaded and filesystems are mounted, there are quite a lot of commonly-used sysctl's which are simply ignored on boot and produce errors to the console.[/quote]
Czyli by to poprawić trzeba by dodać do /etc/rc.localKod:
# Load kernel variables from /etc/sysctl.d /etc/init.d/procps restartOstatnio edytowany przez morfik (2014-01-04 07:30:53)
Offline
grep bytes /etc/sysctl.conf vm.dirty_background_bytes = 16777216 vm.dirty_bytes = 50331648
sysctl -a |grep dirty |grep bytes vm.dirty_background_bytes = 16777216 vm.dirty_bytes = 50331648
SOA#1
;)
Offline
(Ciągle odczytuję tytuł wątku jako „[url=http://sjp.pl/frezowanie]Frezowanie[/url] przy kopiowaniu...” :D).
Offline
Time (s) | Query |
---|---|
0.00007 | SET CHARSET latin2 |
0.00005 | SET NAMES latin2 |
0.00068 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.142.210.173' WHERE u.id=1 |
0.00056 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.142.210.173', 1732699512) |
0.00046 | SELECT * FROM punbb_online WHERE logged<1732699212 |
0.00054 | SELECT topic_id FROM punbb_posts WHERE id=250372 |
0.00005 | SELECT id FROM punbb_posts WHERE topic_id=24513 ORDER BY posted |
0.00051 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=24513 AND t.moved_to IS NULL |
0.00005 | SELECT search_for, replace_with FROM punbb_censoring |
0.00368 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=24513 ORDER BY p.id LIMIT 25,25 |
0.00076 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=24513 |
Total query time: 0.00741 s |