LINUX.ORG.RU

Проблемы с выделением памяти


0

0

В системе (2.4.21-4.ELcustom #2 SMP) установлено 4.1 Гб оперативной памяти, причем удается выделить в программе только около 1 Гб,
после чего начинается жуткий хруст винчестера из-за swap-процесса.
$ free - показывает, что 75% памяти в buffers/cache (около 3 Гб),
и эта величина не меняется до и после запуска программы.

Что можно сделать, чтобы программа взяла себе законные 3 Гб без swap-a?

anonymous

Ответ на: комментарий от LONGOBARD

$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
max locked memory (kbytes, -l) 4
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 7168
virtual memory (kbytes, -v) unlimited

anonymous
()
Ответ на: комментарий от sS

Это постоянно загруженный сервер, и экспериментировать там с отключением свопа рисковано.

anonymous
()
Ответ на: комментарий от anonymous

> Это постоянно загруженный сервер, и экспериментировать там с отключением свопа рисковано.

ну.. если оно упадет, значит это вопиющий баг в ядре. На продакшен серверах разве такие ядра стоят?:)

dilmah ★★★★★
()
Ответ на: комментарий от dilmah

> ну.. если оно упадет, значит это вопиющий баг в ядре.
> На продакшен серверах разве такие ядра стоят?:)

упасть не упадет, но к работающим процессам
вполне может прийти OOM KILL, если суммарный
rss больше памяти.

anonymous
()
Ответ на: комментарий от anonymous

>упасть не упадет, но к работающим процессам вполне может прийти OOM KILL, если суммарный rss больше памяти.

Вообще говоря ядро конечно старовато ... я уж не помню в котором из них находили VM trashing.

В любом случае проводить такие эксперименты надо не на боевом сервере

sS ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.