GNU/Linux >> Belajar Linux >  >> Linux

Max membuka file untuk proses kerja

echo -n "Max open files=20:20" > /proc/$pid/limits

...berfungsi di RHEL5.5 dan RHEL6.7.

Perhatikan bahwa "-n" adalah wajib; baris baru yang tertinggal akan menghasilkan keluhan tentang argumen yang tidak valid.


Pilihan lainnya adalah dengan menggunakan perintah prlimit (dari paket util-linux). Misalnya jika Anda ingin menyetel jumlah maksimum file terbuka untuk proses yang sedang berjalan ke 4096:

prlimit -n4096 -p pid_of_process


Anda dapat menggunakan gdb, membobol proses, memanggil syscall yang disebutkan di atas untuk menaikkan batas yang Anda minati, lalu melanjutkan pekerjaan dan keluar dari gdb. Saya telah mengedit berbagai hal dengan cepat dengan cara ini beberapa kali.

Aplikasi Anda tidak akan mati, tetapi hanya berhenti sejenak saat Anda melakukan panggilan. jika Anda cepat (atau membuat skripnya!), kemungkinan besar tidak akan terlihat.


Sebagai administrator sistem :/etc/security/limits.conf file mengontrol ini di sebagian besar instalasi Linux; ini memungkinkan Anda untuk menetapkan batas per pengguna. Anda akan menginginkan baris seperti myuser - nofile 1000 .

Dalam proses :Panggilan getrlimit dan setrlimit mengontrol sebagian besar batas alokasi sumber daya per proses. RLIMIT_NOFILE mengontrol jumlah maksimum deskriptor file. Anda memerlukan izin yang sesuai untuk memanggilnya.


Linux
  1. 8 perintah Linux untuk manajemen proses yang efektif

  2. Cara Meningkatkan Jumlah Batas File Terbuka di Linux

  3. File Pseudo Untuk Data Sementara?

  1. Setel Umask Untuk Sistem File yang dipasang di Sshfs?

  2. Menghitung file terbuka per proses

  3. Monitor Proses setara untuk Linux?

  1. Bagaimana mencegah proses dari menulis file

  2. buka port 8080 untuk mendengarkan

  3. Bagaimana saya bisa mengetahui file apa yang telah dibuka oleh suatu proses?