Используя 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
В кэш-памяти конфигурация установила макс. открытое использование соединений:
-c 10240
Можно проверить, на самом деле ли это необходимо или не путем начинания работу listen_disabled_num
при выполнении:
echo stats | nc localhost 11211
Необходимо видеть, что значение выше 0, если макс. соединения являются проблемой.
Кажется, memcached
процесс запущен пользователем mysql
. Попробуйте явно добавить правила в limits.conf
для этого пользователя (*
должен применяться ко всем пользователям, кроме root, но это не стоит больших усилий ...).
mysql soft nofile 10240
mysql hard nofile 10240
Также я думаю, что эти ограничения применяются, только если PAM загружает их. Проверьте, есть ли у вас следующая строка в /etc/pam.d/common-session
session required pam_limits.so
Если нет, добавьте ее в конце. После этого вам может потребоваться перезагрузка, чтобы увидеть внесенные изменения.