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

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

/proc ファイルシステムは、起動時に構築され、シャットダウン時に削除されるため、常に存在しているように見えますが、実際には、システムとその実行中のプロセスに関する多くの関連情報を含む仮想ファイルシステムです。この記事では、その内容と、システム管理者としてのあなたがそこから収集できる価値について詳しく説明します。

注:/procの下のファイルとディレクトリにアクセスしています 特に明記されていない限り、rootとしてではなく、標準ユーザーとして。

/procの下のファイルを見ると 、実行しているプロセスの数に応じて、それらの多く(150以上)が表示されます。

$ ls /proc
1     174    26    2902   4109   531          fb
10    175    2601  2904   41275  546          filesystems
1004  176    2602  2907   41292  547          fs
<snip>
166   2589   2889  4000   47452  dma          vmstat
167   2594   2898  4005   475    driver       zoneinfo
168   2595   29    40986  522    execdomains

番号が付けられたファイルは、プロセス番号またはプロセスID(PID)に対応するディレクトリです。たとえば、最初の列には、1、10、1055、1057、1059などの番号のプロセスがあります。これらのプロセス番号付きディレクトリ内には、プロセス自体に関係するファイルがさらにあります。以下は/proc/411のリストです ディレクトリ。

$ ls /proc/411
ls: cannot read symbolic link /proc/411/cwd: Permission denied
ls: cannot read symbolic link /proc/411/root: Permission denied
ls: cannot read symbolic link /proc/411/exe: Permission denied
arch_status      fdinfo      numa_maps      smaps_rollup
attr             gid_map     oom_adj        stack
autogroup        io          oom_score      stat
auxv             latency     oom_score_adj  statm
cgroup           limits      pagemap        status
clear_refs       loginuid    patch_state    syscall
cmdline          map_files   personality    task
comm             maps        projid_map     timers
coredump_filter  mem         root           timerslack_ns
cpuset           mountinfo   sched          uid_map
cwd              mounts      schedstat      wchan
environ          mountstats  sessionid
exe              net         setgroups
fd               ns          smaps

各ディレクトリには、通常のユーザーが読み取れないファイルがいくつかあります。これらのファイルを一覧表示または開くには、rootである必要があります。

[/ procの情報の実用的な使用法を確認したい場合は、Linuxでスワップメモリ​​をクリアする方法を確認してください]

長いリスト(ls -l /proc )は、通常のテキストファイルのサイズが0であることを示しています。通常、サイズがゼロのファイルは、コンテンツが含まれていないことを意味します。ただし、これらの/proc /procなどのファイル ファイルシステム自体(procfs )、仮想です。彼らは 情報が含まれているのか、それともなぜそこにあるのでしょうか?

たとえば、cpuinfoを表示します 画面にファイルすると、私が何を意味するかがわかります。

$ 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:

このファイルには、CPUに関する情報が含まれています。通常のテキストタイプファイルの多くにはハードウェアとシステムの情報が含まれており、catすることができます。 他のテキストファイルと同じようにそれらを。そのゼロのファイルサイズを無視することを忘れないでください。

この/procの次回の記事では ファイルシステムシリーズでは、ファイルに記載されている情報について説明します。自分で探索することもできます。ほとんどのファイルには、含まれている情報を説明する名前が付いています。一部のファイルは、人間の心にとって他のファイルよりも価値があります。すべてのファイルにcpuinfoがあるわけではありません またはmeminfo -システム管理者にとって価値のあるレベルの情報ですが、開発者、ハードウェアメーカー、またはベンダーのトラブルシューティング担当者にとっては重要な情報である可能性があります。

[Linuxシステム管理についてもっと知る必要がありますか? RedHatシステム管理コースの受講を検討してください。 ]


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

  2. Linux – / proc / cpuinfoのフラグはどういう意味ですか?

  3. Linux – / proc // exeシンボリックリンクは通常のシンボリックリンクとどのように異なりますか?

  1. /optと/usr/ localの違いは?

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

  3. /proc ファイル システムについて

  1. Unix / Linux でプロセスのパスを取得するにはどうすればよいですか

  2. Linux の一時ディレクトリはどこにありますか?

  3. 推奨される使用方法に従って、Web サイトは /var/ または /usr/ に配置する必要がありますか?