как увеличить максимальное количество открытых файлов для сервиса memcached

Используя ulimit -ni, я могу установить максимальный лимит открытых файлов для каждой оболочки

. Чтобы сделать это значение постоянным, я могу отредактировать его в /etc/security/limits.conf и перезапустить ubuntu 12.10 В этом поле приведена конфигурация

*               soft    nofile          10240
*               hard    nofile          10240
root            soft    nofile          10240
root            hard    nofile          10240

, но вышеупомянутое значение не применяется к сервису memcached, как сделать так, чтобы «максимальное количество открытых файлов 10240» для сервиса memcached.

даже после установки limit.conf memcached все еще показывает

xx@xx:~$ ps aux|grep mem
mysql     2044  0.0  0.0 327436  1260 ?        Sl   17:09   0:00 /usr/bin/memcached -vv -m 256 -p 11211 -u mysql -l 0.0.0.0

xx@xx:~$ cat /proc/2044/limits
Limit                     Soft Limit           Hard Limit           Units
Max cpu time              unlimited            unlimited            seconds
Max file size             unlimited            unlimited            bytes
Max data size             unlimited            unlimited            bytes
Max stack size            8388608              unlimited            bytes
Max core file size        0                    unlimited            bytes
Max resident set          unlimited            unlimited            bytes
Max processes             30402                30402                processes
Max open files            1024                 1024                 files
Max locked memory         65536                65536                bytes
Max address space         unlimited            unlimited            bytes
Max file locks            unlimited            unlimited            locks
Max pending signals       30402                30402                signals
Max msgqueue size         819200               819200               bytes
Max nice priority         0                    0
Max realtime priority     0                    0
Max realtime timeout      unlimited            unlimited            us

, пожалуйста, дайте мне знать, как увеличить «максимальное количество открытых файлов» для службы memcached

2
задан 22 May 2013 в 15:50

2 ответа

В кэш-памяти конфигурация установила макс. открытое использование соединений:

-c 10240

Можно проверить, на самом деле ли это необходимо или не путем начинания работу listen_disabled_num при выполнении:

echo stats | nc localhost 11211

Необходимо видеть, что значение выше 0, если макс. соединения являются проблемой.

5
ответ дан 22 May 2013 в 15:50

Кажется, memcached процесс запущен пользователем mysql. Попробуйте явно добавить правила в limits.conf для этого пользователя (* должен применяться ко всем пользователям, кроме root, но это не стоит больших усилий ...).

mysql            soft    nofile          10240
mysql            hard    nofile          10240

Также я думаю, что эти ограничения применяются, только если PAM загружает их. Проверьте, есть ли у вас следующая строка в /etc/pam.d/common-session

session required pam_limits.so

Если нет, добавьте ее в конце. После этого вам может потребоваться перезагрузка, чтобы увидеть внесенные изменения.

0
ответ дан 22 May 2013 в 15:50

Другие вопросы по тегам:

Похожие вопросы: