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.
Czyli by to poprawić trzeba by dodać do /etc/rc.local
# Load kernel variables from /etc/sysctl.d /etc/init.d/procps restart
Ostatnio 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 „Frezowanie przy kopiowaniu...” :D).
Offline