مرکز آموزش

مشاهده خطای Too many open files

چگونه open_files_limit در mysql را افزایش دهم؟

 

در صورتیکه سرویس mysql  سرور شما با مشکل مواجه شده و در لاگ سرویس خطای زیر را مشاهده می کنید:

[ERROR] Error in accept: Too many open files

جهت رفع مشکل آموزش زیر را دنبال کنید:

 MySQL به طور خودکار open_files_limit خود را به هر مقدار که ulimit سیستم تنظیم شده است تنظیم می کند - به طور پیش فرض 1024 خواهد بود.

نکته MySQL:  نمی تواند open_files_limit   بالاتر از آنچه که تحت نام ulimit 'files open' مشخص شده است تنظیم کند - شما می توانید آن را پایین تر تنظیم کنید، اما نه بالاتر از حد مجاز فایل.

فایل limits.conf  را باز نموده

nano /etc/security/limits.conf

و خطوط زیر را در آن اضافه کنید:

mysql hard nofile 1024000

mysql soft nofile 1024000

 

فایل زیر را باز نموده:

nano /etc/security/limits.d/90-nproc.conf

و خطوط زیر را در آن اضافه کنید:

* soft nofile 1024000

* hard nofile 1024000

* soft nproc 10240

* hard nproc 10240

root soft nproc unlimited

من 1024000 را انتخاب کردم که نسبتا بالا است شما مطمئنا این را می توانید پایین تر مانند '102400'  انتخاب کنید.

 

سپس فایل my.cnf  را باز نموده:

nano /etc/my.cnf

و خطوط زیر را در آن اضافه کنید:

[mysqld]

open_files_limit = 1024000

 

در پایان سرویس mysql را ریست کنید.
service mysqld restart

با دستور زیر نیز می توانید، اعمال تغییرات را بررسی کنید:
ulimit -a
در خروجی مقدار open files را می توانید مشاهده کنید.

 

در همین زمینه