Sto eseguendo Ubuntu 16.04 Server su XenServer e sto riscontrando un problema con il limite di file aperti di MySql.
Ecco cosa ho fatto finora:
sudo nano /etc/security/limits.conf (riferimento)
* soft nofile 1024000
* hard nofile 1024000
* soft nproc 102400
* hard nproc 102400
mysql soft nofile 1024000
mysql hard nofile 1024000
sudo nano /etc/init/mysql.conf (riferimento)
limit nofile 1024000 1024000
limit nproc 102400 102400
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf (riferimento)
[mysqld_safe]
open_files_limit = 1024000
[mysqld]
open_files_limit = 1024000
Quando quanto sopra non ha funzionato, sono passato a quanto segue:
sudo nano /etc/sysctl.conf
fs.file-max = 1024000
sudo nano /etc/pam.d/common-session
session required pam_limits.so
sudo nano /etc/pam.d/common-session-noninteractive
session required pam_limits.so
sudo nano /lib/systemd/system/mysql.service
LimitNOFILE=infinity
LimitMEMLOCK=infinity
Quando accedo al mio account utente tutto sembra a posto:
ulimit -Hn
1024000
ulimit -Sn
1024000
Se eseguo l'accesso come mysql, sembra anche buono:
mysql@server:~$ ulimit -Hn
1024000
mysql@server:~$ ulimit -Sn
1024000
Tuttavia, quando guardo il proc:
ps -ef | grep mysql
cat /proc/1023/limits | grep open
Max open files 65536 65536 files
O quando lo guardo in MySql:
mysql> show global variables like 'open%';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| open_files_limit | 65536 |
+------------------+-------+
Dai registri (/var/log/mysql/error.log):
25/07/2016 T05: 44: 35.453668Z 0 [Avvertenza] Impossibile aumentare il numero di max_open_files a più di 65536 (richiesta: 1024000)
Sono completamente senza idee qui. All'inizio ho iniziato con open_files_limit a 1024, e uno dei precedenti deve averlo cambiato, ma ho bisogno che vada più in alto. Sto già raggiungendo questo limite poiché ho molti database e tabelle che a volte hanno molte partizioni.
Ho anche provato numeri meno aggressivi di 1024000, senza fortuna.
Qualche idea là fuori?