GNU/Linux >> Belajar Linux >  >> Cent OS

Memahami Sistem File /proc

Sistem file proc berisi hierarki file khusus yang mewakili keadaan kernel saat ini. Ini dinamai sesuai tujuan aslinya, yang merupakan antarmuka ke struktur dalam proses yang berjalan untuk mendukung alat debugging. Linux mengadopsi ini dari Solaris tetapi juga menambahkan antarmuka ke kernel. Sistem file proc telah menjadi sangat berantakan selama bertahun-tahun sehingga Linux membuat sistem file sysfs untuk membersihkannya.

File di direktori /proc berisi informasi tentang perangkat keras Anda dan proses saat ini yang berjalan di sistem Anda. File yang memiliki izin menulis dapat dimodifikasi untuk mengubah konfigurasi kernel.

Sistem File Virtual

File di direktori /proc adalah file virtual; oleh karena itu, proc disebut sebagai sistem file virtual. Sebagian besar file virtual terdaftar sebagai ukuran nol byte tetapi berisi sejumlah besar informasi saat dilihat. Sebagian besar cap waktu dan tanggal pada file virtual mencerminkan waktu dan tanggal saat ini; namun, file-file ini terus diperbarui.

File virtual seperti /proc/interrupts, /proc/meminfo, /proc/cpuinfo, dan /proc/devices memberikan tampilan perangkat keras sistem. Lainnya, seperti file /proc/filesystems dan direktori /proc/sys menyediakan informasi konfigurasi sistem dan antarmuka. File yang berisi informasi tentang topik serupa dikelompokkan ke dalam direktori virtual. Misalnya, direktori proses berisi informasi tentang setiap proses yang berjalan pada sistem.

Melihat File Virtual

Sebagian besar file virtual dalam /proc dapat dilihat dengan menggunakan perintah seperti cat, more, dan less. Misalnya, untuk melihat informasi tentang CPU sistem, masukkan:

# cat /proc/cpuinfo 
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 79
model name	: Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz
stepping	: 1
microcode	: 0x1
cpu MHz		: 2199.998
cache size	: 30720 KB
physical id	: 0
siblings	: 1
core id		: 0
cpu cores	: 1
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm rdseed adx smap xsaveopt
bogomips	: 4399.99
clflush size	: 64
cache_alignment	: 64
address sizes	: 40 bits physical, 48 bits virtual
power management:

File tertentu hanya dapat diakses dengan hak akses root. Beberapa file di /proc berisi informasi yang tidak dapat dibaca manusia. Gunakan utilitas seperti lspci, free, dan top untuk melihat file-file ini. Misalnya, gunakan perintah lspci untuk membuat daftar semua perangkat PCI:

# lspci
00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02)
00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
00:01.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II]
00:01.2 USB controller: Intel Corporation 82371SB PIIX3 USB [Natoma/Triton II] (rev 01)
00:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 03)
00:02.0 VGA compatible controller: Red Hat, Inc. QXL paravirtual graphic card (rev 04)
00:03.0 Ethernet controller: Red Hat, Inc Virtio network device
00:04.0 SCSI storage controller: Red Hat, Inc Virtio SCSI
00:05.0 SCSI storage controller: Red Hat, Inc Virtio block device
00:06.0 SCSI storage controller: Red Hat, Inc Virtio block device
00:07.0 Unclassified device [00ff]: Red Hat, Inc Virtio memory balloon

Mengubah File Virtual

Sebagian besar file virtual dalam direktori /proc bersifat read-only. Namun, beberapa dapat ditulis dan dapat digunakan untuk menyesuaikan pengaturan di kernel. Ini terutama berlaku untuk file di direktori /proc/sys. Untuk mengubah nilai file virtual, gunakan sintaks berikut:

# echo value > /proc/file

Misalnya, untuk mengubah nama host, masukkan:

# echo www.example.com > /proc/sys/kernel/hostname

File lain bertindak sebagai sakelar biner atau Boolean. Melihat file mengembalikan 0 (mati atau salah) atau 1 (hidup atau benar). Contoh:

# cat /proc/sys/net/ipv4/ip_forward 
0

0 menunjukkan kernel tidak meneruskan paket jaringan. Untuk mengaktifkan penerusan paket:

# echo 1 > /proc/sys/net/ipv4/ip_forward
# cat /proc/sys/net/ipv4/ip_forward
1

File Tingkat Atas di dalam /proc

Beberapa file virtual yang lebih berguna di tingkat atas direktori /proc dijelaskan di sini. Ini tidak dimaksudkan sebagai daftar lengkap, tetapi untuk memberikan contoh beberapa file dan tujuannya. Banyak dari file ini dijelaskan lebih lanjut dalam pelajaran yang berlaku.

  • /proc/buddyinfo :File ini digunakan terutama untuk mendiagnosis masalah fragmentasi memori.
  • /proc/cmdline :File ini menunjukkan parameter yang diteruskan ke kernel pada saat dimulai.
  • /proc/cpuinfo :File virtual ini mengidentifikasi jenis prosesor yang digunakan oleh sistem Anda.
  • /proc/crypto :File ini mencantumkan semua sandi kriptografi terinstal yang digunakan oleh kernel Linux, termasuk detail tambahan untuk masing-masing sandi.
  • /proc/devices :File ini menampilkan berbagai karakter dan memblokir perangkat yang saat ini dikonfigurasi (tidak termasuk perangkat yang modulnya tidak dimuat).
  • /proc/dma :File ini berisi daftar saluran ISA DMA terdaftar yang digunakan.
  • /proc/execdomains :File ini mencantumkan domain eksekusi yang saat ini didukung oleh kernel Linux, bersama dengan berbagai kepribadian yang mereka dukung.
  • /proc/filesystems :File ini menampilkan daftar jenis sistem file yang saat ini didukung oleh kernel. Kolom pertama menandakan apakah sistem file dipasang pada perangkat blok. Yang dimulai dengan nodev tidak dipasang di perangkat. Kolom kedua mencantumkan nama sistem file yang didukung. Perintah mount menggilir sistem file yang tercantum di sini saat tidak ada yang ditetapkan sebagai argumen.
  • /proc/interrupts :File ini mencatat jumlah interupsi per IRQ pada arsitektur x86.
  • /proc/iomem :File ini menunjukkan peta memori sistem saat ini untuk setiap perangkat fisik.
  • /proc/ioports :File ini menyediakan daftar wilayah port yang saat ini terdaftar yang digunakan untuk komunikasi input atau output dengan perangkat.
  • /proc/kcore :File ini mewakili memori fisik sistem dan disimpan dalam format file inti. Konten file ini dirancang untuk diperiksa oleh debugger, seperti gdb, dan tidak dapat dibaca manusia.
  • /proc/kmsg :File ini digunakan untuk menyimpan pesan yang dihasilkan oleh kernel. Pesan-pesan ini kemudian diambil oleh program lain, seperti /bin/dmesg.
  • /proc/loadavg :File ini memberikan tampilan rata-rata beban yang berkaitan dengan CPU dan I/O dari waktu ke waktu, serta data tambahan yang digunakan oleh waktu aktif dan perintah lainnya.
  • /proc/locks :File ini menampilkan file yang saat ini dikunci oleh kernel. Isi file ini berisi data debug kernel internal dan dapat sangat bervariasi, tergantung pada penggunaan sistem.
  • /proc/mdstat :File ini berisi informasi terkini untuk konfigurasi RAID multi-disk.
  • /proc/meminfo :File ini melaporkan sejumlah besar informasi berharga tentang penggunaan RAM sistem.
  • /proc/modules :File ini menampilkan daftar semua modul yang dimuat ke dalam kernel. Sebagian besar informasi ini juga dapat dilihat dengan menggunakan perintah /sbin/lsmod.

Direktori Proses di /proc

Direktori /proc berisi direktori dengan nama numerik. Direktori ini diberi nama setelah ID proses program dan berisi informasi tentang proses itu. Pemilik dan grup setiap direktori proses diatur ke pengguna yang menjalankan proses. Setiap direktori proses berisi beberapa file termasuk:

  • cmdline :Perintah yang dikeluarkan saat memulai proses
  • cwd :Tautan simbolis ke direktori kerja saat ini untuk proses
  • lingkungan :Daftar variabel lingkungan untuk proses
  • exe :Tautan simbolis ke eksekusi proses ini
  • fd :Direktori yang berisi semua deskriptor file untuk proses tertentu
  • peta :Daftar peta memori ke file executable dan library yang terkait dengan proses
  • mem :Memori yang dimiliki oleh proses (file tidak dapat dibaca oleh pengguna)
  • akar :Tautan ke direktori root dari proses
  • status :Status proses termasuk status proses dan penggunaan memori
  • statm :Status memori yang digunakan oleh proses
  • status :Status proses dalam bentuk yang lebih mudah dibaca daripada stat atau statm

Direktori lain di /proc

Direktori lain dalam direktori/proc mengelompokkan informasi serupa berdasarkan topik. Berikut ini adalah sebagian daftar direktori tersebut:

  • /proc/bus :Direktori ini berisi informasi tentang berbagai bus yang tersedia di sistem. Subdirektori dan file yang tersedia dalam /proc/bus bervariasi tergantung pada perangkat yang terhubung ke sistem.
  • /proc/bus/pci, /proc/bus/usb :Anda bisa mendapatkan daftar semua perangkat PCI dan USB yang ada di sistem dengan menggunakan perintah cat pada file perangkat di dalam direktori ini, tetapi hasilnya sulit dibaca dan ditafsirkan. Untuk daftar perangkat yang dapat dibaca manusia, jalankan perintah lspci dan lsusb.
  • /proc/driver :Direktori ini berisi informasi untuk driver tertentu yang digunakan oleh kernel.
  • /proc/fs :Direktori ini menunjukkan sistem file mana yang diekspor. Jika menjalankan server NFS, mengetik cat /proc/fs/nfsd/exports menampilkan sistem file yang dibagikan dan izinnya.
  • /proc/irq :Direktori ini digunakan untuk mengatur IRQ ke afinitas CPU, yang memungkinkan sistem untuk menghubungkan IRQ tertentu hanya ke satu CPU. Atau, itu dapat mengecualikan CPU dari menangani IRQ apa ​​pun.
  • /proc/self/net :Direktori ini memberikan tampilan komprehensif pada berbagai parameter dan statistik jaringan. Setiap direktori dan file virtual dalam direktori ini menjelaskan aspek konfigurasi jaringan sistem. File /proc/net adalah tautan simbolis ke direktori ini.
  • /proc/scsi :File utama dalam direktori ini adalah /proc/scsi/scsi, yang berisi daftar setiap perangkat SCSI yang dikenali. Dari daftar ini, jenis perangkat, serta nama model, vendor, saluran SCSI, dan data ID tersedia.
  • /proc/sys :Direktori ini berbeda dari direktori lain di /proc, karena direktori ini tidak hanya menyediakan informasi tentang sistem tetapi juga memungkinkan Anda untuk segera mengaktifkan dan menonaktifkan fitur kernel. Jika sebuah file memiliki izin menulis, file tersebut dapat digunakan untuk mengkonfigurasi kernel. Mengubah nilai dalam file /proc/sys/ dilakukan dengan menggemakan nilai baru ke dalam file. Misalnya, untuk mengubah nama host menjadi www.example.com :
    # echo www.example.com > /proc/sys/kernel/hostname

    File lain bertindak sebagai sakelar biner atau Boolean. Nilai 0 mewakili off atau false. Nilai 1 mewakili pada atau benar. Misalnya, untuk mengaktifkan penerusan paket:

    # echo 1 > /proc/sys/net/ipv4/ip_forward

    Perubahan yang dibuat dengan menggunakan perintah echo tidak persisten dan hilang saat sistem di-restart. Agar perubahan konfigurasi diterapkan setelah sistem di-boot ulang, tambahkan ke file /etc/sysctl.conf.

  • /proc/sys/dev :Direktori ini menyediakan parameter untuk perangkat tertentu pada sistem.
  • /proc/sys/fs :Direktori ini berisi opsi dan informasi mengenai berbagai aspek sistem file, termasuk kuota, penanganan file, dan informasi inode.
  • /proc/sys/kernel :Direktori ini berisi berbagai file konfigurasi berbeda yang secara langsung mempengaruhi operasi kernel.
  • /proc/sys/net :Direktori ini berisi subdirektori tentang berbagai topik jaringan. Anda dapat mengubah file dalam direktori ini untuk menyesuaikan konfigurasi jaringan pada sistem yang sedang berjalan.
  • /proc/sysvipc :Direktori ini berisi informasi tentang sumber daya System V Interprocess Communication (IPC). File dalam direktori ini berhubungan dengan panggilan IPC Sistem V untuk pesan (msg), semaphore (sem), dan memori bersama (shm).
  • /proc/tty :Direktori ini berisi informasi tentang perangkat tty yang tersedia dan saat ini digunakan pada sistem. File driver adalah daftar perangkat tty yang sedang digunakan.
Memahami Sistem File sysfs (/sys) di Linux


Cent OS
  1. Bagaimana Cara Mengedit File Sistem Dengan Kate Editor??

  2. Memahami file Konfigurasi dm-multipath /etc/multipath.conf

  3. Memahami Sistem File sysfs (/ sys) di Linux

  1. Memahami sistem file Btrfs di Fedora Linux

  2. Memahami File /etc/inittab di Linux

  3. Memahami file /etc/rsyslog.conf untuk mengkonfigurasi System Logging

  1. Menjelajahi sistem file Linux /proc

  2. Bagaimana Linux Menangani Beberapa Pemisah Jalur Berturut-turut (/home////username///file)?

  3. Linux – Seberapa Sering Sistem File Proc Diperbarui di Linux?