Loading [MathJax]/extensions/tex2jax.js

Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

Linux

Linuxのprocディレクトリとは?用途や中身について

投稿日:2021年12月24日 更新日:

 

<目次>

(1) Linuxのprocディレクトリとは?用途や中身について
 (1-1) procディレクトリとは?
 (1-2) procディレクトリの中身

(1) Linuxのprocディレクトリとは?用途や中身について

(1-1) procディレクトリとは?

procディレクトリは「実ファイルシステム」ではなく「仮想ファイルシステム」です。プロセスに関する情報や、システムに関するその他の情報(メモリ状況やCPU性能情報等)のを保持しています。この情報はカーネル(OSの中核部分)が行う制御に使用されます。
 
これらは実際のファイルではなく、ランタイム(プログラム実行時)のメタデータ(データに関するデータ)を保持している事から、仮想ファイルシステムと呼ばれています(実際、中の全てのファイルは0kbである)。
 
OS起動時に「/proc」にマウント(ストレージ=物理を、ディレクトリ=論理)に紐付ける事)され、シャットダウン時にアンマウントされます。

(1-2) procディレクトリの中身

・実際に「/proc」ディレクトリを覗いてみると、いくつかのプロセス共通ファイル(meminfo、cpuinfoなど)と、「数字」の名前が付いたディレクトリが大量にあると思います。
 
(図121)

・このディレクトリの「数字」はOS上で起動するプロセス(実行中のプログラム)のPID(一意なID)を表しています。
(図122)

●共通的なファイル

またプロセス共通ファイルは「meminfo」(メモリの合計・空き・バッファ・キャッシュ等の各種情報)や「cpuinfo」(CPUのプロセッサの型や性能情報など)をはじめ各種情報があります。
(図123)↓この辺のファイル

(例)meminfoの中身
  1. [root@tk2-216-17994 proc]# cat meminfo
  2. MemTotal: 2053892 kB
  3. MemFree: 463700 kB
  4. Buffers: 149156 kB
  5. Cached: 8352 kB
  6. SwapCached: 57316 kB
  7. Active: 151640 kB
  8. Inactive: 426420 kB
  9. Active(anon): 14920 kB
  10. Inactive(anon): 405644 kB
  11. Active(file): 136720 kB
  12. Inactive(file): 20776 kB
  13. Unevictable: 0 kB
  14. Mlocked: 0 kB
  15. SwapTotal: 2097148 kB
  16. SwapFree: 2108 kB
  17. Dirty: 24 kB
  18. Writeback: 0 kB
  19. AnonPages: 363208 kB
  20. Mapped: 4032 kB
  21. Shmem: 12 kB
  22. Slab: 354476 kB
  23. SReclaimable: 146504 kB
  24. SUnreclaim: 207972 kB
  25. KernelStack: 46432 kB
  26. PageTables: 494312 kB
  27. NFS_Unstable: 0 kB
  28. Bounce: 0 kB
  29. WritebackTmp: 0 kB
  30. CommitLimit: 3124092 kB
  31. Committed_AS: 4212296 kB
  32. VmallocTotal: 34359738367 kB
  33. VmallocUsed: 11496 kB
  34. VmallocChunk: 34359722852 kB
  35. HardwareCorrupted: 0 kB
  36. AnonHugePages: 0 kB
  37. HugePages_Total: 0
  38. HugePages_Free: 0
  39. HugePages_Rsvd: 0
  40. HugePages_Surp: 0
  41. Hugepagesize: 2048 kB
  42. DirectMap4k: 8168 kB
  43. DirectMap2M: 2088960 kB
(図124)

●各数字(PID)ディレクトリ内のファイル

各PIDディレクトリ内には主に次のようなファイルがあります。
 
(表)
cmdline 当該プロセスを起動する際のコマンドが記述されています。
cpu 当該プロセスが「現在実行されているCPU」や「前に実行されたCPU」が記録されています。
cwd プロセスのカレント作業ディレクトリへのシンボリックリンク(※注1)が記載されています。

(※注1)
ファイルやフォルダへのリックを保持≒ショートカット

environ プロセスが使用する環境変数のリスト
exe プロセスの実行ファイル(※注2)を参照するシンボリックリンクです。

(※注2)
プログラムをメモリに読み込んで実行できる形式にしたファイル。

stat プロセスの状態を保持します。
statm プロセスのメモリの状態を保持します。
 

Adsense審査用広告コード


Adsense審査用広告コード


-Linux

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

CentOS7でfirewalldを用いてポートの開放を行う方法について

(0)目次&概説 (1) パケットフィルタリングの概要  (1-1) CentOS7のパケットフィルタリング概要  (1-2) CentOS6(iptables)との主な違い  (1-3) 「ゾーン」 …

Linuxにおけるデーモンやサービスの意味や常用コマンドについて

(0)目次&概説 (1) 記事の目的  (1-1) 目的  (1-2) 前提条件 (2) デーモン/サービスとは?(CentOS6以前)  (2-1) デーモン/サービスとは?  (2-2) Syst …

Linuxで一般ユーザ(rootスイッチ権限有り)を作成する方法

Linuxでユーザを作成する方法を書きます。 (0)目次 >(1)作業の背景・目的・前提条件 >(2)ユーザの作成 >(3)ユーザの「Wheel」グループへの追加 (1)作業の背景・目的・前提条件 「 …

CentOS6にVNCServerでリモート接続して日本語入力を可能にする方法

(0)目次&概説 (1) 記事の目的 (2) 日本語化の対応手順  (2-1) ibus系のインストール  (2-2) dbusインストール+エラー回避  (2-3) mocz系パッケージのインストー …

Tomcatのサービスが起動しない場合の想定原因と対処(Linux系OSの例)

<目次> (1) Tomcatのサービスが起動しない場合の想定原因と対処(Linux系OSの例)  (1-1) 発生状況・エラーメッセージ  (1-2) 原因  (1-3) 対処法 (1) Tomca …

  • English (United States)
  • 日本語
S