Sistem Exploring /Proc File di Linux

Sistem Exploring /Proc File di Linux

Hari ini, kita akan melihat ke dalam /Proc direktori dan mengembangkan keakraban dengan itu. Itu /Proc Direktori hadir di semua Linux sistem, terlepas dari rasa atau arsitektur.

Satu kesalahpahaman bahwa kita harus segera membersihkannya adalah bahwa /Proc direktori adalah BUKAN nyata Berkas sistem, dalam arti istilah. Ini adalah sebuah Sistem file virtual. Terkandung di dalam procfs adalah informasi tentang proses dan informasi sistem lainnya. Itu dipetakan ke /Proc dan dipasang di boot waktu.

Sistem Exploring /Proc File

Pertama, mari masuk ke /Proc direktori dan melihat -lihat:

# CD /Proc

Hal pertama yang akan Anda perhatikan adalah ada beberapa File terdengar yang akrab, dan kemudian banyak direktori bernomor. Itu direktori bernomor mewakili proses, lebih dikenal sebagai PIDS, dan di dalamnya, perintah yang menempati mereka. File berisi informasi sistem seperti MemorY (meminfo), Informasi CPU (cpuinfo), dan tersedia sistem file.

Baca juga:  Perintah Linux gratis untuk memeriksa memori fisik dan menukar memori

Mari kita lihat salah satu file terlebih dahulu:

# Cat /Proc /Meminfo
Output sampel

yang mengembalikan sesuatu yang mirip dengan ini:

MemTotal: 604340 kB MemFree: 54240 kB Buffers: 18700 kB Cached: 369020 kB SwapCached: 0 kB Active: 312556 kB Inactive: 164856 kB Active(anon): 89744 kB Inactive(anon): 360 kB Active(file): 222812 kB Inactive (File): 164496 kb Tidak dapat dihindari: 0 kb mlocked: 0 kb swaptotal: 0 kb swapfree: 0 kb kotor: 0 kb writeback: 0 kb anonpages: 89724 kb dipetakan: 18012 kb shmem: 412 KB Slab: 50104 KB SREC: 18012 KB: 412 KB Slab: 50104 KB SREC SREC: 4024 KB: 412 KB SlAB: 50104 KB SREC SREC: 4024 KB: 412 KB SLAB: 50104 KB SREC SREC: .. 

Seperti yang Anda lihat, /proc/meminfo Berisi banyak informasi tentang memori sistem Anda, termasuk jumlah total yang tersedia (IN KB) dan jumlahnya gratis di dua baris teratas.

Menjalankan perintah CAT di salah satu file di /Proc akan menghasilkan isinya. Informasi tentang file apa pun tersedia di halaman Manusia dengan menjalankan:

# man 5 /proc /

Saya akan memberi Anda ikhtisar cepat /Proc File:

  1. /proc/cmdline - Informasi baris perintah kernel.
  2. /proc/konsol - Informasi tentang konsol saat ini termasuk TTY.
  3. /proc/perangkat - Driver perangkat yang saat ini dikonfigurasi untuk kernel yang sedang berjalan.
  4. /Proc/DMA - Info tentang saluran DMA saat ini.
  5. /proc/fb - Perangkat Framebuffer.
  6. /Proc/FilesystemS - Sistem file saat ini didukung oleh kernel.
  7. /proc/iomem - Peta memori sistem saat ini untuk perangkat.
  8. /proc/ioports - Wilayah port terdaftar untuk komunikasi output input dengan perangkat.
  9. /proc/loadavg - Rata -rata beban sistem.
  10. /proc/locks - File yang saat ini dikunci oleh kernel.
  11. /proc/meminfo - Info tentang memori sistem (lihat contoh di atas).
  12. /proc/misc - Pengemudi Lain -Lain Terdaftar untuk Perangkat Utama Lain -lain.
  13. /proc/modul - Modul kernel yang sedang dimuat.
  14. /proc/mounts - Daftar semua dudukan yang digunakan oleh sistem.
  15. /proc/partisi - Info terperinci tentang partisi yang tersedia untuk sistem.
  16. /proc/pci - Informasi tentang setiap perangkat PCI.
  17. /proc/stat - Merekam atau berbagai statistik yang disimpan dari reboot terakhir.
  18. /proc/swap - Informasi tentang Ruang Pertukaran.
  19. /proc/uptime - Informasi Uptime (dalam hitungan detik).
  20. /proc/versi - Versi kernel, versi GCC, dan distribusi Linux terpasang.

Di dalam /Proc direktori bernomor Anda akan menemukan beberapa file Dan tautan. Ingatlah bahwa angka direktori ini berkorelasi dengan Pid dari perintah yang dijalankan di dalamnya. Mari kita gunakan contoh. Di sistem saya, ada nama folder /proc/12:

# CD /proc /12 # ls
Output sampel
attr coredump_filter io mounts oom_score_adj smaps wchan autogroup cpuset latency mountstats pagemap stack auxv cwd batasan kepribadian net cgroup lingkungan loginuid ns statm clear_refs mapse numa_maps status status cmdline fd memoom_ref

Jika saya menjalankan:

# kucing/proc/12/status

Saya mendapatkan yang berikut:

Nama: XenWatch State: S (Sleeping) TGID: 12 PID: 12 PPID: 2 Tracerpid: 0 UID: 0 0 0 GID: 0 0 0 0 FDSIZE: 64 GROUPS: BANDS: 1 SIGQ: 1/4592 SIGPND: 00000000000000 SIGQ: 1/4592 SIGPND: 00000000000000 : 0000000000000000 SigBlk: 0000000000000000 SigIgn: ffffffffffffffff SigCgt: 0000000000000000 CapInh: 0000000000000000 CapPrm: ffffffffffffffff CapEff: ffffffffffffffff CapBnd: ffffffffffffffff Cpus_allowed: 1 Cpus_allowed_list: 0 Mems_allowed: 00000000,00000001 Mems_allowed_list: 0 voluntary_ctxt_switches: 84 nonvoluntary_ctxt_switches: 0

Jadi, apa artinya ini? Nah, bagian penting ada di atas. Kita dapat melihat dari file status yang menjadi milik proses ini xenwatch. Keadaan saat ini adalah sedang tidur, dan prosesnya PENGENAL adalah 12, jelas sekali. Kita juga bisa melihat siapa yang menjalankan ini, sebagai Uid Dan Gid adalah 0, menunjukkan bahwa proses ini milik akar pengguna.

Di direktori bernomor apa pun, Anda akan memiliki struktur file yang serupa. Yang paling penting, dan deskripsi mereka, adalah sebagai berikut:

  1. CMDLINE - baris perintah proses
  2. mengepung - Variabel Lingkungan
  3. fd - deskriptor file
  4. batas - berisi informasi tentang batasan proses
  5. dudukan - informasi terkait

Anda juga akan melihat sejumlah tautan di direktori bernomor:

  1. CWD - tautan ke direktori kerja proses saat ini
  2. exe - Tautan ke yang dapat dieksekusi dari proses tersebut
  3. akar - Tautan ke Direktori Kerja Proses

Ini seharusnya membuat Anda mulai membiasakan diri dengan /Proc direktori. Itu juga harus memberikan wawasan tentang bagaimana sejumlah perintah mendapatkan infonya, seperti uptime, lsof, gunung, Dan ps, Hanya untuk beberapa nama.