Pada awalnya, untuk mengidentifikasi batas pengguna atau grup tertentu, Anda harus melakukan hal berikut:
[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]:~$
Baris yang penting adalah:
membuka file (-n) 1024
Seperti yang Anda lihat, vendor sistem operasi Anda mengirimkan versi ini dengan konfigurasi Linux dasar - 1024 file per proses.
Ini jelas tidak cukup untuk instalasi MySQL yang sibuk.
Sekarang, untuk memperbaikinya, Anda harus memodifikasi file berikut:
/etc/security/limits.conf
mysql soft nofile 24000
mysql hard nofile 32000
Beberapa rasa Linux juga memerlukan konfigurasi tambahan agar ini tetap pada proses daemon versus sesi login. Di Ubuntu 10.04, misalnya, Anda juga perlu menyetel batas sesi pam dengan menambahkan baris berikut ke /etc/pam.d/common-session
:
session required pam_limits.so