Hai Saya telah membaca Di Sini bahwa lsof bukan cara yang akurat untuk mendapatkan jumlah File Deskriptor yang saat ini terbuka. Dia merekomendasikan untuk menggunakan perintah ini sebagai gantinya
cat /proc/sys/fs/file-nr
Sementara perintah ini menampilkan jumlah FD, bagaimana Anda menampilkan daftar deskriptor file terbuka yang hanya dihitung oleh perintah di atas?
linux
bash
command-line
dimas
sumber
sumber
Jawaban:
Ada dua alasan mengapa
lsof | wc -l
penghitungan file tidak dihitung. Salah satunya adalah ia mencantumkan hal-hal yang tidak membuka file, seperti perpustakaan yang terhubung secara dinamis dan direktori kerja saat ini; Anda perlu memfilternya. Lain adalah yanglsof
membutuhkan waktu untuk berjalan, sehingga dapat kehilangan file yang dibuka atau ditutup saat sedang berjalan; oleh karena itu jumlah file terbuka yang terdaftar adalah perkiraan. Melihat/proc/sys/fs/file-nr
memberi Anda nilai tepat pada titik waktu tertentu.cat /proc/sys/fs/file-nr
hanya berguna ketika Anda membutuhkan angka yang tepat, terutama untuk memeriksa kelelahan sumber daya. Jika Anda ingin membuat daftar file yang terbuka, Anda perlu meneleponlsof
, atau menggunakan beberapa metode yang setara seperti menjambret/proc/*/fd
secara manual.sumber
/proc/*/fd
Direktori @dimas berisi tautan simbolik ke file yang terbuka. Untuk inspeksi visual, gunakanls -l
. Untuk perawatan otomatis, gunakanreadlink
untuk mengekstrak target tautan.setrlimit
(panggilan sistem yang mendasariulimit
perintah shell) adalah per-proses. Mereka hanya mempengaruhi proses yang membuat panggilan (dan secara tidak langsung proses yang kemudian garpu).Proses informasi disimpan secara dinamis oleh sistem dalam direktori di bawah / proc. Misalnya proses dengan PID 1234 akan memiliki direktori bernama / proc / 1234.
Ada sedikit informasi di sana, tetapi saat ini Anda tertarik pada subdirektori / proc / 1234 / fd .
CATATAN: Anda harus memiliki izin root untuk melihat atau membuka file untuk proses yang tidak Anda miliki, serta untuk proses SetUID.
Contoh:
Lihat juga seluruh file di bawah / proc ... banyak informasi berguna dari sistem berada di sini.
sumber