[solved] openrc+urandom+dd problem

hi all

с недавних пор обнаружил что старт\стоп /etc/init.d/urandom занимает жутко много времени и грязно ругается.
расследование показало что виноват dd, запускаемый в этом скрипте, который начинает жрать память пока не приходит OOM killer... это на стопе, где происходит сохранение random seed'a. при том что /proc/sys/kernel/random/pool_size содержит у меня 4096, размер файла /var/lib/misc/random_seed полуается 256к %() из которых все, что дальше первых 4к забито нулями...
далее я попробовал из командоной строки тоже самое + добавил bs размером 4096:
dd if=/dev/urandom of=/tmp/zz count=1 bs=4096

dd быстро сожрал мои 8Г рамы и стал свопиться... насилу убил его и получил размер файла 16М %()

---

root@gentop / $ uname -a
Linux gentop 3.3.3-gentoo-z1 #1 SMP PREEMPT Mon Apr 23 13:19:53 MSK 2012 x86_64 Intel(R) Core(TM) i3 CPU M 350 @ 2.27GHz GenuineIntel GNU/Linux

---
coreutils 8.16
openrc 0.9.9.3
glibc 2.15-r1

на ядре 3.3.2 была такая же проблема... когда появилась я честно говоря не отследил ибо перегружаюсь крайне редко но обновляюсь часто ;)
----
UPDATE: пересбор coreutils с новым glibc решил проблему!

bs - меньше, count - больше,

bs - меньше, count - больше, и норм будет. Только медленнее. Подозреваю, кстати, что bs=4096M у тебя. Я из положения выходил, когда 1G нагенерить надо было, с bs=64M count=16. Жить можно.

Хочешь сделать мир лучше - начни с себя

Leprekon написал(а): bs -

Leprekon написал(а):
bs - меньше, count - больше, и норм будет. Только медленнее. Подозреваю, кстати, что bs=4096M у тебя. Я из положения выходил, когда 1G нагенерить надо было, с bs=64M count=16. Жить можно.

bs по умолчанию в байтах!
а вовторых: КАКОГО @#$ СПРАШИВАЕТСЯ ПРОИСХОДИТ? почему bs в 4096 байт создает мне файл в 16М? bs=8b (8 512байтных блока) аналогично. bs=4K -- опять 16М! а bs=4096k говорит что:

root@gentop ~ $ dd if=/dev/urandom bs=4096K count=1 of=zz
dd: failed to truncate to 17592186044416 bytes in output file ‘zz’: File too large

на лицо проблема с dd... у меня одного что-ли???
все отягощается тем, что этот dd стартует из openrcшного /etc/init.d/urandom... что крайне не приятно...

да, забыл добавить:
glibc 2.15-r1 (позавчера вроде обновилась)

Слууушай-ка, есть мысль. Не

Слууушай-ка, есть мысль. Не могу проверить, компа под рукой нету сейчас с Линём. Но попробуй посмотреть, что получится при:

dd if=/dev/zero of=/tmp/zz count=1 bs=4096

Может, и не dd виновник? =)

Хочешь сделать мир лучше - начни с себя

uname -a Linux big.home.local

uname -a
Linux big.home.local 3.3.3-gentoo #4 SMP Tue Apr 24 07:28:39 MSK 2012 x86_64 AMD Athlon(tm) II X2 215 Processor AuthenticAMD GNU/Linux

time sudo /etc/init.d/urandom restart
urandom             | * WARNING: you are stopping a boot service
urandom             | * Saving random seed ...                                  [ ok ]
urandom             | * Initializing random number generator ...                [ ok ]

real    0m0.168s
user    0m0.065s
sys     0m0.072s

P.S.: Linux - это красная таблетка :-) Windows - синяя...

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".