All'inizio, per identificare determinati limiti di utenti o gruppi, devi fare quanto segue:
[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]:~$
La linea importante è:
file aperti (-n) 1024
Come puoi vedere, il fornitore del tuo sistema operativo fornisce questa versione con la configurazione Linux di base:1024 file per processo.
Questo ovviamente non è sufficiente per un'installazione MySQL impegnativa.
Ora, per risolvere questo problema devi modificare il seguente file:
/etc/security/limits.conf
mysql soft nofile 24000
mysql hard nofile 32000
Alcune versioni di Linux richiedono anche una configurazione aggiuntiva per far sì che questo si attacchi ai processi daemon rispetto alle sessioni di accesso. In Ubuntu 10.04, ad esempio, devi anche impostare i limiti della sessione pam aggiungendo la seguente riga a /etc/pam.d/common-session
:
session required pam_limits.so