私の最初の記事で読んだように、/procファイルシステムの探索 、/proc
filesystemには、システム管理者がハードウェア構成、構成パラメータ、および実行中のシステム上のプロセスの補完を検出するために使用できる多くのファイルが含まれています。すべてのファイルがシステム管理者にとって同じ値を持つわけではありません。この記事では、sysadminsにとって最も価値の高いテキストファイル(ディレクトリ/プロセスではない)について説明します。そうは言っても、私の値の定義を理解してください 私にとって、そして継承されたシステムや私がほとんど慣れていないシステムでの私の発見にとっての価値を意味します。
以下は/proc
のリストです 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
長いリストコマンドを発行した場合(ls -l /proc
)、kcore
以外のすべてのファイルに気付くでしょう (表示されていません)ファイルのサイズはゼロです。ただし、これらのファイルは空ではありません。貴重な情報が含まれています。
$ 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
特に継承されたシステム検出で最も価値があると思うファイルは次のとおりです。
- コマンドライン
- cpuinfo
- meminfo
- バージョン
そして、それらの中で最も価値のあるものはcpuinfo
およびmeminfo
。
繰り返しになりますが、他のファイルに価値がないと言っているわけではありませんが、これらは私にとって最も価値のあるものであることがわかりました。たとえば、/proc/uptime
ファイルは、システムの稼働時間を秒単位で示します。私にとって、それは特に価値がありません。ただし、その情報が必要な場合は、uptime
を使用します /proc/loadavg
のより読みやすいバージョンも提供するコマンド 同様に。
比較すると:
$ 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
あなたはその考えを理解していると思います。
/ proc / cmdline
このファイルには、カーネルの起動時にカーネルに渡されたパラメーターが表示されます。
$ 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
この情報の価値は、スイッチや特別なパラメーターもここにリストされるため、カーネルの起動方法にあります。そして、/proc
の下のすべての情報のように 、他の場所で見つけることができ、通常はより適切なフォーマットで見つけることができますが、/proc
コマンドを思い出せない場合やgrep
をしたくない場合は、ファイルが非常に便利です。 何かのために。
/ proc / cpuinfo
/proc/cpuinfo
fileは、新しいシステムに接続するときに最初にチェックするファイルです。システムのCPU構成を知りたいのですが、このファイルには、知る必要のあるすべての情報が記載されています。
$ 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:
これは仮想マシンであり、vCPUは1つだけです。システムに複数のCPUが含まれている場合、最初のCPUのCPU番号は0から始まります。
/ proc / meminfo
/proc/meminfo
fileは、新しいシステムでチェックする2番目のファイルです。システムのメモリ割り当てと使用状況について、一般的かつ具体的に説明します。
$ 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***
ほとんどのシステム管理者はfree
を使用していると思います またはtop
ここに含まれるデータの一部をプルするコマンド。 /proc/meminfo
fileを使用すると、メモリの概要をすばやく確認でき、スナップショットとして別のファイルにリダイレクトできます。
/ proc / version
/proc/version
コマンドは、関連するuname -a
よりも多くの情報を提供します コマンドは行います。比較した2つは次のとおりです。
$ 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
通常、uname -a
コマンドはカーネルのバージョン情報を提供するのに十分ですが、開発者であるか、詳細に非常に関心がある人は、/proc/version
ファイルはあなたのためにあります。
まとめ
/proc
filesystemには、生のシステム情報を取得するための便利でコマンド以外の方法を必要とするシステム管理者が利用できる貴重な情報がたくさんあります。前に述べたように、/proc
に情報を表示する方法は他にもあります。 。さらに、/proc
の一部 情報は、システム評価に使用したいものではありません。たとえば、vmstat 5 5
などのコマンドを使用します またはiostat 5 5
利用可能な/proc
のいずれかを読み取るのではなく、システムパフォーマンスの全体像を把握するため ファイル。
[Linuxシステム管理についてもっと知る必要がありますか? RedHatシステム管理コースを受講してください。 ]