Seperti yang Anda baca di artikel pertama saya, Menjelajahi sistem file /proc , /proc
filesystem berisi banyak file yang dapat digunakan administrator sistem untuk menemukan susunan perangkat keras, parameter konfigurasi, dan pelengkap proses pada sistem yang berjalan. Tidak semua file memiliki nilai yang sama untuk sebuah sysadmin. Dalam artikel ini, saya membahas file teks (bukan direktori/proses) dengan nilai tertinggi untuk sysadmin. Karena itu, harap sadari bahwa definisi saya tentang nilai berarti nilai bagi saya dan penemuan saya pada sistem yang diwariskan dan pada sistem yang tidak terlalu saya kenal.
Berikut adalah daftar /proc
direktori file teks umum pada sistem berbasis Red Hat:
/proc/apm
/proc/buddyinfo
/proc/cmdline
/proc/cpuinfo
/proc/crypto
/proc/devices
/proc/dma
/proc/execdomains
/proc/fb
/proc/filesystems
/proc/interrupts
/proc/iomem
/proc/ioports
/proc/kcore*
/proc/kmsg*
/proc/loadavg
/proc/locks
/proc/mdstat
/proc/meminfo
/proc/misc
/proc/modules
/proc/mounts
/proc/mtrr
/proc/partitions
/proc/pci
/proc/slabinfo*
/proc/stat
/proc/swaps
/proc/sysrq-trigger
/proc/uptime
/proc/version
* root readable only
Jika Anda mengeluarkan perintah daftar panjang (ls -l /proc
), Anda akan melihat bahwa semua file kecuali kcore
(tidak ditampilkan) file memiliki ukuran nol. Namun, file-file ini tidak kosong. Mereka berisi informasi berharga.
$ ls -l /proc
-r--r--r--. 1 root root 0 Feb 25 23:13 buddyinfo
-r--r--r--. 1 root root 0 Feb 25 23:13 cgroups
-r--r--r--. 1 root root 0 Feb 25 23:13 cmdline
-r--r--r--. 1 root root 0 Feb 25 23:13 consoles
-r--r--r--. 1 root root 0 Feb 25 23:13 cpuinfo
-r--r--r--. 1 root root 0 Feb 25 23:13 crypto
-r--r--r--. 1 root root 0 Feb 25 23:13 devices
-r--r--r--. 1 root root 0 Feb 25 23:13 diskstats
-r--r--r--. 1 root root 0 Feb 25 23:13 dma
/proc
file yang menurut saya paling berharga, terutama untuk penemuan sistem yang diwariskan, adalah:
- cmdline
- cpuinfo
- meminfo
- versi
Dan yang paling berharga adalah cpuinfo
dan meminfo
.
Sekali lagi, saya tidak menyatakan bahwa file lain tidak memiliki nilai, tetapi ini adalah file yang saya temukan yang paling berharga bagi saya. Misalnya, /proc/uptime
file memberi Anda waktu aktif sistem dalam hitungan detik. Bagi saya, itu tidak terlalu berharga. Namun, jika saya menginginkan informasi itu, saya menggunakan uptime
perintah yang juga memberi saya versi /proc/loadavg
yang lebih mudah dibaca juga.
Sebagai perbandingan:
$ cat /proc/uptime
46901.13 46856.69
$ cat /proc/loadavg
0.00 0.01 0.03 2/111 2039
$ uptime
00:56:13 up 13:01, 2 users, load average: 0.00, 0.01, 0.03
Saya pikir Anda mengerti.
/proc/cmdline
File ini menunjukkan parameter yang diteruskan ke kernel pada saat dimulai.
$ cat /proc/cmdline
BOOT_IMAGE=/vmlinuz-3.10.0-1062.el7.x86_64 root=/dev/mapper/centos-root ro crashkernel=auto spectre_v2=retpoline rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=en_US.UTF-8
Nilai dari informasi ini adalah bagaimana kernel di-boot karena setiap sakelar atau parameter khusus akan dicantumkan di sini juga. Dan seperti semua informasi di bawah /proc
, dapat ditemukan di tempat lain dan biasanya dengan format yang lebih baik, tetapi /proc
file sangat berguna ketika Anda tidak dapat mengingat perintah atau tidak ingin grep
untuk sesuatu.
/proc/cpuinfo
/proc/cpuinfo
file adalah file pertama yang saya periksa saat menghubungkan ke sistem baru. Saya ingin mengetahui susunan CPU dari suatu sistem dan file ini memberi tahu saya semua yang perlu saya ketahui.
$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 142
model name : Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz
stepping : 9
cpu MHz : 2303.998
cache size : 4096 KB
physical id : 0
siblings : 1
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 22
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 ht syscall nx rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc eagerfpu pni pclmulqdq monitor ssse3 cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx rdrand hypervisor lahf_lm abm 3dnowprefetch fsgsbase avx2 invpcid rdseed clflushopt md_clear flush_l1d
bogomips : 4607.99
clflush size : 64
cache_alignment : 64
address sizes : 39 bits physical, 48 bits virtual
power management:
Ini adalah mesin virtual dan hanya memiliki satu vCPU. Jika sistem Anda berisi lebih dari satu CPU, penomoran CPU dimulai dari 0 untuk CPU pertama.
/proc/meminfo
/proc/meminfo
file adalah file kedua yang saya periksa pada sistem baru. Ini memberi saya pandangan umum dan khusus tentang alokasi dan penggunaan memori sistem.
$ cat /proc/meminfo
MemTotal: 1014824 kB
MemFree: 643608 kB
MemAvailable: 706648 kB
Buffers: 1072 kB
Cached: 185568 kB
SwapCached: 0 kB
Active: 187568 kB
Inactive: 80092 kB
Active(anon): 81332 kB
Inactive(anon): 6604 kB
Active(file): 106236 kB
Inactive(file): 73488 kB
Unevictable: 0 kB
Mlocked: 0 kB
***Output truncated***
Saya pikir sebagian besar sysadmin menggunakan free
atau top
perintah untuk menarik beberapa data yang terdapat di sini. /proc/meminfo
file memberi saya gambaran umum memori cepat yang saya suka dan dapat mengarahkan ke file lain sebagai snapshot.
/proc/versi
/proc/version
perintah memberikan lebih banyak informasi daripada uname -a
terkait perintah tidak. Berikut perbandingan keduanya:
$ cat /proc/version
Linux version 3.10.0-1062.el7.x86_64 ([email protected]) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ) #1 SMP Wed Aug 7 18:08:02 UTC 2019
$ uname -a
Linux centos7 3.10.0-1062.el7.x86_64 #1 SMP Wed Aug 7 18:08:02 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Biasanya, uname -a
perintah ini cukup untuk memberi Anda info versi kernel tetapi bagi Anda yang merupakan pengembang atau yang sangat peduli dengan detail, /proc/version
file ada untuk Anda.
Menutup
/proc
filesystem memiliki banyak sekali informasi berharga yang tersedia bagi administrator sistem yang menginginkan cara yang nyaman dan non-perintah untuk mendapatkan info sistem mentah. Seperti yang saya nyatakan sebelumnya, ada cara lain untuk menampilkan informasi di /proc
. Selain itu, beberapa /proc
info bukan yang ingin Anda gunakan untuk penilaian sistem. Misalnya, gunakan perintah seperti vmstat 5 5
atau iostat 5 5
untuk mendapatkan gambaran yang lebih baik tentang kinerja sistem daripada membaca salah satu /proc
. yang tersedia file.
[ Perlu mempelajari lebih lanjut tentang administrasi sistem Linux? Ikuti kursus administrasi sistem Red Hat. ]