Първо, за да идентифицирате определени потребителски или групови ограничения, трябва да направите следното:
[email protected]:~# sudo -u mysql bash
[email protected]:~$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 71680
max locked memory (kbytes, -l) 32
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 71680
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
[email protected]:~$
Важният ред е:
отворени файлове (-n) 1024
Както можете да видите, доставчикът на вашата операционна система доставя тази версия с основната конфигурация на Linux – 1024 файла на процес.
Това очевидно не е достатъчно за натоварена инсталация на MySQL.
Сега, за да коригирате това, трябва да промените следния файл:
/etc/security/limits.conf
mysql soft nofile 24000
mysql hard nofile 32000
Някои разновидности на Linux също изискват допълнителна конфигурация, за да накарате това да се придържа към демон процесите спрямо сесиите за влизане. В Ubuntu 10.04, например, трябва да зададете и ограниченията на pam сесията, като добавите следния ред към /etc/pam.d/common-session
:
session required pam_limits.so