У меня есть стек LEMP на Ubuntu 14.04 с MariaDB. Mysql является огромным узким местом для моего сервера. Я попробовал все, которого я знаю для повышения открытого предела файлов для mysql. Я добавил open-files-limit = 2097152
к my.cnf. Я добавил следующее к limits.conf:
* soft nofile 2097152
* hard nofile 2097152
* soft nproc 2097152
* hard nproc 2097152
mysql soft nofile 2097152
mysql hard nofile 2097152
mysql soft nproc 2097152
mysql hard nproc 2097152
Я добавил session required pam_limits.so
к/etc/pam.d/common-session* и/etc/pam.d/sudo и несколько других. Я попытался перезапустить mysql после перезагрузки - никакое изменение. Я также проверил /etc/apparmor.d/usr.sbin.mysqld
видеть, было ли это включено, но файл пуст. В конце концов то, что я все еще получаю следующее:
# ulimit -Sa
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 256538
max locked memory (kbytes, -l) unlimited
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) 2097152
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
Когда я работаю # mysqld --verbose
Я получаю это:
150501 0:19:35 [Warning] Could not increase number of max_open_files to more than 1024
У кого-либо есть какая-либо идея относительно того, что блокирует это изменение???
К сожалению, здесь нет никакого прямого ответа. Материал в/etc/security/limits.conf только для чтения материалом PAM, во время входа в систему, не во время начальной загрузки.
Так, если Вы хотите, чтобы mysqld имел, это - ulimits, измененный, необходимо будет вертеть с init сценарием.