Чего лукавит, я имел ввиду что память не выделается под указаний размер можно хоть 512мб поставить
Согласен в нужную сторону копаете, но все-таки упорно игнорируете мануал по ramz (
http://compcache.googlecode.com/hg/sub- ... l?r=defrag а также смотрим
http://code.google.com/p/compcache/wiki ... ndUsingNew) и основные понятия выделения памяти, в том что происходит OOM ramz невиноват.
В идеале можно использовать лимит памяти скажем 5мег и в случаи переполнения или же если данные не сжимаются будет использоваться физический своп. Смотрите параметр
--memlimit_kbНо ежели хочется использовать просто память нужно попросту не допускать таких ситуаций дело в том что по умолчанию они допускаются и OOM произойдет в любом случаи будет ramz или нет, поскольку при определенных ситуациях алокация памяти в программах будь то ramz, трансмишен или тот же dvdplayer будет всегда успешной независимо от того есть столько памяти или нет.
Например если так:
echo 100 > /proc/sys/vm/swappiness (свопимся больше)
echo 2 > /proc/sys/vm/overcommit_memory (запрет на алокацию более чем ratio)
echo 25 > /proc/sys/vm/overcommit_ratio (в целом это % от памяти + размер свопа в нашем случаи 25% + 32мега = порядка 64мег)
Плеер постоянно использует примерно 82м памяти для прошивки A+V и учитывая базовую загрузку даже если не вся память используется это 10мег в итоге мы имеем не менее 32мег памяти на все наши нужды включая интерфейс плеера, но при таких зажимах dvdplayer просто не запустится ибо требует больше памяти. Однако можно применить эти параметры после запуска и у меня даже вышло впервые пройти сжатие за 4 минуты с помошью upx на уровне 8 (причем бегунок даже не тормозил а шел уверено) что ранее было невозможно ибо без зажимов алокация была критичной и сам процесс растягивался на 10 и более минут с жутким торможением, причем всегда прерывался с OOM.
Тестировал следующим образом файл жертва php ~12mb лежал на флешке, сжимался на встроенную флешку плеера примерно следующей командой:
./upx -8 /tmp/usbmounts/sda1/php -o /usr/local/etc/karambaФайлы для теста (среда в которой тестировалось это новая pohd чистая версия с убранным budylink + используется только yaffs Никаких squash)
- test.7z
- (2.78 MiB) Downloaded 393 times
В общем надо более детально курить тему памяти ибо все очень неоднозначно
P.S. Что касается других параметров:
min_free_kbytes - это немного из другой оперы а имено: This is used to force the Linux VM to keep a minimum number of kilobytes free. The VM uses this number to compute a pages_min value for each lowmem zone in the system. Each lowmem zone gets a number of reserved free pages based proportionally on its size.
vfs_cache_pressure - это тоже знаетели лучше не трогать: Controls the tendency of the kernel to reclaim the memory which is used for caching of directory and inode objects. At the default value of vfs_cache_pressure=100 the kernel will attempt to reclaim dentries and inodes at a "fair" rate with respect to pagecache and swapcache reclaim. Decreasing vfs_cache_pressure causes the kernel to prefer to retain dentry and inode caches. Increasing vfs_cache_pressure beyond 100 causes the kernel to prefer to reclaim dentries and inodes.