/proc - Dapatkan Informasi Proses dan Perangkat Keras Linux


Hari ini, kita akan mempelajari isi direktori /proc untuk mengembangkan pemahaman yang lebih baik tentang fungsinya. Penting untuk dicatat bahwa direktori /proc adalah fitur umum di semua distribusi Linux, apa pun jenis atau arsitekturnya.

Salah satu kesalahpahaman yang harus segera kita klarifikasi adalah bahwa direktori /proc BUKAN sistem file konvensional dalam pengertian tradisional.

Ini adalah sistem file virtual yang berisi informasi tentang proses dan data terkait sistem lainnya dalam procfs. Sistem file ini dipetakan ke direktori /proc dan dipasang selama proses booting sistem.

Apa itu /proc di Linux

Sistem file /proc berfungsi sebagai antarmuka ke struktur data kernel dan informasi waktu proses, yang menyediakan cara bagi pengguna dan aplikasi untuk mengakses informasi terperinci tentang proses, konfigurasi sistem, perangkat keras, dan banyak lagi, dengan mengekspos data ini melalui hierarki file virtual.

Untuk melihat daftar lengkap file dan direktori pada sistem file /proc, Anda dapat menggunakan perintah ls seperti pada gambar.

ls /proc

Menavigasi /proc di Linux

Saat Anda menavigasi ke direktori /proc, Anda akan melihat bahwa ada beberapa file yang terdengar familier, dan kemudian sejumlah direktori bernomor, masing-masing berhubungan dengan proses yang berjalan pada sistem.

cd /proc
ls

Direktori bernomor ini mewakili proses, lebih dikenal sebagai ID proses (PID), dan di dalamnya, ada perintah yang menempatinya. File tersebut berisi informasi sistem seperti memori (meminfo), informasi CPU (cpuinfo), dan sistem file yang tersedia.

Berikut adalah beberapa file dan direktori utama yang akan Anda temui:

  • /proc/cpuinfo – Mencantumkan informasi tentang CPU pada sistem, seperti model, kecepatan, dan jumlah inti..
  • /proc/meminfo – Mencantumkan detail tentang penggunaan memori dan statistik yang berisi jumlah total memori, memori bebas, dan memori yang digunakan oleh setiap proses.
  • /proc/filesystems – Berisi daftar semua sistem file yang didukung oleh kernel.
  • /proc/sys – Mencantumkan konfigurasi dan parameter runtime untuk kernel.
  • /proc/loadavg – Menampilkan rata-rata beban sistem selama interval waktu yang berbeda seperti 1, 5, dan 15 menit.
  • /proc/self – Tautan simbolis ke direktori proses itu sendiri.
  • /proc/stat – Berisi berbagai statistik tentang sistem, seperti jumlah proses yang berjalan, jumlah interupsi, dan jumlah waktu yang dihabiskan di setiap status CPU.
  • /proc/uptime – Berisi jumlah waktu sistem telah berjalan.
  • /proc/PID – Berisi informasi tentang proses tertentu, dimana PID adalah ID proses.

Mengekstrak Informasi Sistem

/proc/meminfo digunakan untuk menampilkan informasi tentang penggunaan memori dan statistik sistem Linux, yang berisi cuplikan berbagai metrik terkait memori, yang dapat berguna untuk memantau kinerja sistem dan pemanfaatan sumber daya .

cat /proc/meminfo

Seperti yang Anda lihat, /proc/meminfo berisi banyak informasi tentang memori sistem Anda, termasuk jumlah total yang tersedia (dalam kb) dan jumlah yang gratis di dua memori teratas. garis.

Menjalankan perintah cat pada salah satu file di /proc akan menampilkan kontennya. Informasi tentang file apa pun tersedia di halaman manual dengan menjalankan:

man 5 /proc/<filename>

Saya akan memberi Anda ikhtisar singkat tentang file /proc:

  • /proc/cmdline – Informasi baris perintah kernel.
  • /proc/console – Informasi tentang konsol saat ini termasuk tty.
  • /proc/devices – Driver perangkat saat ini dikonfigurasi untuk kernel yang sedang berjalan.
  • /proc/dma – Info tentang saluran DMA saat ini.
  • /proc/fb – Perangkat framebuffer.
  • /proc/filesystems – Sistem file saat ini didukung oleh kernel.
  • /proc/iomem – Peta memori sistem saat ini untuk perangkat.
  • /proc/ioports – Wilayah port terdaftar untuk komunikasi input-output dengan perangkat.
  • /proc/loadavg – Rata-rata beban sistem.
  • /proc/locks – File yang saat ini dikunci oleh kernel.
  • /proc/meminfo – Info tentang memori sistem (lihat contoh di atas).
  • /proc/misc – Berbagai driver yang didaftarkan untuk berbagai perangkat utama.
  • /proc/modules – Modul kernel yang sedang dimuat.
  • /proc/mounts – Daftar semua mount yang digunakan oleh sistem.
  • /proc/partitions – Info detail tentang partisi yang tersedia untuk sistem.
  • /proc/pci – Informasi tentang setiap perangkat PCI.
  • /proc/stat – Rekam atau berbagai statistik disimpan dari reboot terakhir.
  • /proc/swap – Informasi tentang ruang swap.
  • /proc/uptime – Informasi waktu aktif (dalam hitungan detik).
  • /proc/version – Versi kernel, versi gcc, dan distribusi Linux diinstal.

Mengekstraksi Informasi Proses

Dalam direktori bernomor /proc Anda akan menemukan beberapa file dan link. Ingatlah bahwa nomor direktori ini berkorelasi dengan PID dari perintah yang dijalankan di dalamnya.

Misalnya, menavigasi ke /proc/ akan memberikan detail seperti:

  • /proc//cmdline – Argumen baris perintah yang digunakan untuk memulai proses.
  • /proc//status – Informasi status terperinci, termasuk penggunaan memori dan statistik proses.
  • /proc//fd – Tautan simbolis ke file yang dibuka oleh proses.

Mari gunakan contoh untuk melihat folder bernama /proc/12.

cd /proc/12
ls

Jika saya menjalankan:

cat /proc/12/status

Saya mendapatkan yang berikut ini:

Jadi, apa artinya ini? Nah, yang penting ada di bagian atas. Kita dapat melihat dari file status bahwa proses ini milik rcu_tasks_rude_kthread. Statusnya saat ini adalah idle, dan ID prosesnya adalah 12, tentu saja.

Kami juga dapat melihat siapa yang menjalankan ini, karena UID dan GID bernilai 0, yang menunjukkan bahwa proses ini milik root pengguna.

Di direktori bernomor mana pun, Anda akan memiliki struktur file yang serupa, dan yang paling penting beserta deskripsinya adalah sebagai berikut:

  • cmdline – baris perintah proses
  • lingkungan – variabel lingkungan
  • fd – deskriptor file
  • batas – berisi informasi tentang batasan proses
  • pemasangan – informasi terkait

Anda juga akan melihat beberapa tautan di direktori bernomor:

  • cwd – tautan ke direktori kerja proses saat ini
  • exe – tautan ke proses yang dapat dieksekusi
  • root – tautan ke direktori kerja proses

Ini akan membantu Anda mulai mengenal direktori /proc. Ini juga harus memberikan wawasan tentang bagaimana sejumlah perintah memperoleh informasinya, seperti uptime, lsof, mount, dan ps, dan masih banyak lagi.