Используя одну программу на CentOS 6.0 я обнаружил, что программа ведет себе некоректно и в логах ругается на память. Заглянув в файл /etc/sysctl.conf я не увидел там установки параметра kernel.shmmax, а по умолчанию оно очень мало.
Это легко исправить. Нужно добавить в файл /etc/sysctl.conf две строки :
И перечитать изменения командой : sysctl -p
Для проверки внесеных изменений выполните команду : ipcs -l
P.S.
1. параметр kernel.shmall - максимальное значение памяти, измеряется количеством страниц по 4096.
К примеру для 8Gb это будет : kernel.shmall = 8000x1024x1024/4096 или kernel.shmall = 2097152;
2. SHMMAX это максимум выделяемой в одном запросе - это является фактическим объемом памяти (в отличие от страниц). К примеру для 4 Гб это будет: kernel.shmmax = 4294967296.
Это легко исправить. Нужно добавить в файл /etc/sysctl.conf две строки :
kernel.shmall = 2097152
kernel.shmmax = 4294967296
И перечитать изменения командой : sysctl -p
Для проверки внесеных изменений выполните команду : ipcs -l
P.S.
1. параметр kernel.shmall - максимальное значение памяти, измеряется количеством страниц по 4096.
К примеру для 8Gb это будет : kernel.shmall = 8000x1024x1024/4096 или kernel.shmall = 2097152;
2. SHMMAX это максимум выделяемой в одном запросе - это является фактическим объемом памяти (в отличие от страниц). К примеру для 4 Гб это будет: kernel.shmmax = 4294967296.
Комментарии