Отчего это может быть? В системе 64 МБ памяти, программа по показаниям htop занимает обычно не больше 40%, ulimit'ы выставлены по максимуму:
# ulimit -a
-f: file size (blocks) unlimited
-t: cpu time (seconds) unlimited
-d: data seg size (kb) unlimited
-s: stack size (kb) unlimited
-c: core file size (blocks) unlimited
-m: resident set size (kb) unlimited
-l: locked memory (kb) unlimited
-p: processes unlimited
-n: file descriptors 10240
-v: address space (kb) unlimited
-w: locks unlimited
-e: scheduling priority 0
-r: real-time priority 0
В настоящее время мне известно 2 варианта как можно «доканать» программу:
1) У меня настроен небольшой скрипт /proc/sys/kernel/hotplug и я заставляю ядро вызывать этот скрипт десятки раз, пока не получу ошибку
2) Корень на nfs, сохраняется много отладочных данных. Было подозрение, что это nfs как-то что-то кеширует, пока сегодня не узнал про способ 1.
Так на всякий случай
# free
total used free shared buffers
Mem: 61212 36604 24608 0 736
-/+ buffers: 35868 25344
Swap: 0 0 0
# cat /proc/meminfo
MemTotal: 61212 kB
MemFree: 16728 kB
Buffers: 736 kB
Cached: 15972 kB
SwapCached: 0 kB
Active: 24948 kB
Inactive: 13144 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 0 kB
Writeback: 0 kB
AnonPages: 21412 kB
Mapped: 8480 kB
Slab: 2592 kB
SReclaimable: 724 kB
SUnreclaim: 1868 kB
PageTables: 856 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
CommitLimit: 30604 kB
Committed_AS: 91180 kB
VmallocTotal: 581632 kB
VmallocUsed: 33180 kB
VmallocChunk: 540668 kB