Tiba-tiba saya mengalami masalah; semua aplikasi saya dan server berjalan dengan baik dan tiba-tiba saya melihat jumlah file yang terbuka naik.
Saya memeriksanya dengan perintah ini:
cat /proc/sys/fs/file-nr
Ketika saya memeriksa dengan ini itu menunjukkan 44544 0 128000
, jadi 44544 adalah jumlah file yang terbuka.
Tetapi ketika saya memeriksa dengan perintah ini - lsof | wc -l
itu menunjukkan - 28384.
Jadi yang mana yang benar?
Batas maksimum file terbuka saya adalah 65535
ulimit -a
open files (-n) 65535
Saya ingin tahu 5 proses teratas yang menggunakan lebih banyak file terbuka. Saya bisa mendapatkan ini dari lsof
tetapi jumlah yang ditampilkan di sini sangat berbeda dari perintah lain yang saya sebutkan di atas.
Bisakah saya mendapatkan rincian proses yang dihitung oleh perintah ini cat /proc/sys/fs/file-nr
?
Menurut tautan yang disebutkan di bawah ini mengatakan kita tidak bisa, Bagaimana menampilkan deskriptor file yang terbuka tetapi tidak menggunakan perintah lsof
Apakah ada pekerjaan untuk saya? Saya perlu menemukan proses mana yang mulai menggunakan lebih banyak file terbuka secara tiba-tiba.
UPDATE Maaf guys untuk masalah ini. Saya menemukan kesalahan yang saya lakukan saya TIDAK memeriksa lsof | wc -l dari root. itulah alasan saya melihat perbedaan besar.
masih ada perbedaan antara output file -nr dan lsof | wc -l (dari root). Jumlah ini lebih dari jumlah file -nr. alasan untuk ini adalah, file -nr mengabaikan beberapa direktori (yang dianggap sebagai file oleh lsof) saya menemukan alasan ini oleh penelitian litle di google sendiri. bagaimanapun! terima kasih kawan atas semua bantuannya!
lsof | wc -l
benar - benar menunjukkan angka negatif?