Jawaban:
Pada kernel yang lebih baru (2.6.32+) di CentOS / RHEL Anda dapat mengubahnya saat runtime dengan / proc / <pid> / limit:
cd /proc/7671/
[root@host 7671]# cat limits | grep nice
Max nice priority 0 0
[root@host 7671]# echo -n "Max nice priority=5:6" > limits
[root@host 7671]# cat limits | grep nice
Max nice priority 5 6
Seperti yang didokumentasikan di sini , prlimit
perintah, yang diperkenalkan dengan util-linux 2.21 memungkinkan Anda membaca dan mengubah batas proses yang berjalan.
Ini adalah tindak lanjut dari writable /proc/<pid>/limits
, yang tidak terintegrasi dalam kernel arus utama. Solusi ini seharusnya berhasil.
Jika prlimit(1)
belum, Anda dapat menemukan kode ke versi minimalis di halaman prlimit(2)
manual .
Pada versi util-linux-ng yang lebih baru, Anda dapat menggunakan perintah prlimit, untuk informasi lebih lanjut, baca tautan ini /superuser/404239/setting-ulimit-on-a-running-process
Anda dapat mencoba ulimit man ulimit
dengan opsi -n namun halaman mag tidak sebagian besar OS tidak memungkinkan ini diatur.
Anda dapat menetapkan batas deskripsi file sistem dengan menggunakan sysctl -w fs.file-max=N
dan membuat perubahan tetap ada boot posting masuk/etc/sysctl.conf
Namun saya juga menyarankan melihat proses untuk melihat apakah itu benar-benar perlu memiliki begitu banyak file terbuka pada waktu tertentu, dan jika Anda sebenarnya bisa menutup beberapa file dan lebih efisien dalam proses.
ulimit
tidak menerapkan pengaturan untuk menjalankan proses .