Meningkatkan had fail terbuka maksimum di linux

Meningkatkan had fail terbuka maksimum di linux

Had fail terbuka maksimum di Linux adalah tetapan seluruh sistem yang menentukan bilangan maksimum fail yang boleh dibuka oleh satu pada bila-bila masa. Had ini disediakan untuk mengelakkan satu proses daripada menggunakan semua fail yang tersedia pada sistem, yang boleh menyebabkan masalah prestasi atau bahkan kemalangan sistem.

Periksa had semasa

Untuk memeriksa had fail terbuka maksimum semasa pada sistem linux anda, anda boleh menggunakan 'Ulimit' perintah. Sebagai contoh, arahan berikut akan memaparkan had semasa untuk pengguna yang menjalankan arahan:

ULIMIT -N  1024 

Perintah ini akan mengembalikan had semasa dalam bentuk nombor. Had lalai pada kebanyakan sistem biasanya sekitar 1,000. Walau bagaimanapun, bergantung kepada pengedaran dan versi Linux tertentu, had ini mungkin lebih tinggi atau lebih rendah.

Tingkatkan Had Fail Terbuka Maksimum

Sekiranya anda mendapati bahawa had semasa terlalu rendah untuk keperluan anda, anda boleh meningkatkannya. Terdapat beberapa cara untuk melakukan ini, bergantung pada keadaan khusus anda.

Salah satu cara untuk meningkatkan had fail terbuka maksimum adalah untuk mengedit fail konfigurasi SYSCTL sistem. Di kebanyakan sistem, fail ini terletak di "/Etc/sysctl.conf ”. Untuk meningkatkan had, anda boleh menambah baris berikut ke fail:

/etc/sysctl.conf fs.File-Max = 1000000 

Ini akan meningkatkan had menjadi 1,000,000. Perlu diketahui bahawa perubahan ini tidak akan berkuatkuasa sehingga sistem reboot atau perkhidmatan SYSCTL dimuat semula.

Cara lain untuk meningkatkan had fail terbuka maksimum adalah untuk mengedit fail konfigurasi had sistem. Di kebanyakan sistem, fail ini terletak di "/Etc/keselamatan/had.conf ”. Untuk meningkatkan had, anda boleh menambah baris berikut ke fail:

/etc/keselamatan/had.conf * lembut nofile 1000000 * keras nofile 1000000 

Ini akan meningkatkan had kepada 1,000,000 untuk semua pengguna. Walau bagaimanapun, perubahan ini akan berkuatkuasa hanya selepas pengguna log keluar dan log masuk semula.

Meningkatkan had untuk bekas

Sekiranya anda menjalankan aplikasi anda dalam persekitaran kontena, anda boleh meningkatkan had fail terbuka maksimum dengan lulus bendera yang sesuai untuk runtime kontena. Contohnya, semasa menjalankan bekas dengan Docker, anda boleh lulus --Ulimit bendera untuk menetapkan had:

Docker Run --Ulimit Nofile = 1000000: 1000000 my_image 

Ia juga mungkin untuk meningkatkan had untuk pengguna tertentu dengan mengedit fail profil shell pengguna. Contohnya, jika anda menggunakan shell bash, anda boleh mengeditnya ".Bashrc ” fail yang terletak di direktori rumah pengguna. Untuk meningkatkan had, anda boleh menambah baris berikut ke fail:

~/.BASHRC ULIMIT -N 1000000 

Penting untuk diperhatikan bahawa meningkatkan had fail terbuka maksimum bukan penyelesaian untuk semua masalah prestasi. Ini cara untuk menangani masalah tertentu yang disebabkan oleh kehabisan pemegang fail, tetapi jika sistem anda mengalami masalah prestasi, penting untuk mengenal pasti punca akar sebelum meningkatkan had.

Kesimpulan

Kesimpulan. Sekiranya anda mendapati bahawa had semasa terlalu rendah untuk keperluan anda, anda boleh meningkatkannya dengan mengedit fail konfigurasi sistem yang sesuai, atau dengan lulus bendera yang sesuai ke runtime kontena atau mengedit fail profil shell pengguna. Walau bagaimanapun, adalah penting untuk mengenal pasti punca utama masalah sebelum meningkatkan had.