GNU/Linux >> Linux の 問題 >  >> Linux

知っておく必要のある重要なLinux/procファイルシステムファイル

私の最初の記事で読んだように、/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システム管理コースを受講してください。 ]


Linux
  1. Linux/procファイルシステムの調査

  2. Linux – / proc/mntを/proc/ mountsにリンクしますか?

  3. 一部の Linux システムでは、mtab でルート ファイルシステムが /dev/<実デバイス ノード> ではなく /dev/root として表示されるのはなぜですか?

  1. 知っておく必要のある10の基本的なLinuxコマンド

  2. Linuxは複数の連続したパスセパレーター(/ home //// username /// file)をどのように処理しますか?

  3. /proc/[pid]/pagemaps および /proc/[pid]/maps | Linux

  1. Linux tmpディレクトリ:知っておくべきことすべて

  2. Linuxファイル圧縮:知っておくべきことすべて

  3. Linuxファイルのパーミッション:知っておくべきことすべて