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の中身
[root@tk2-216-17994 proc]# cat meminfo
MemTotal:        2053892 kB
MemFree:          463700 kB
Buffers:          149156 kB
Cached:             8352 kB
SwapCached:        57316 kB
Active:           151640 kB
Inactive:         426420 kB
Active(anon):      14920 kB
Inactive(anon):   405644 kB
Active(file):     136720 kB
Inactive(file):    20776 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:       2097148 kB
SwapFree:           2108 kB
Dirty:                24 kB
Writeback:             0 kB
AnonPages:        363208 kB
Mapped:             4032 kB
Shmem:                12 kB
Slab:             354476 kB
SReclaimable:     146504 kB
SUnreclaim:       207972 kB
KernelStack:       46432 kB
PageTables:       494312 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     3124092 kB
Committed_AS:    4212296 kB
VmallocTotal:   34359738367 kB
VmallocUsed:       11496 kB
VmallocChunk:   34359722852 kB
HardwareCorrupted:     0 kB
AnonHugePages:         0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:        8168 kB
DirectMap2M:     2088960 kB
(図124)

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

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

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

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

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

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

Adsense審査用広告コード


Adsense審査用広告コード


-Linux

執筆者:


comment

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

関連記事

Linuxのテキスト入力で日本語が文字化けした時の対処法と解説

Linuxのテキスト入力等で日本語が文字化けした時の対処方法を紹介します。 (0)目次&概説 (1) 障害・不具合の概要 (2) 文字化けの対処法 (3) 解説(文字コードについて) (1) 障害・不 …

Linux系OSのパッケージ管理システム(rpmやyum)及びリポジトリ(epel)について

(0)目次&概説 (1) 記事の目的  (1-1) 目的  (1-2) 前提条件 (2) rpm(パッケージ管理システム)  (2-1) rpmとは?  (2-2) rpmコマンド(追加・更新・削除) …

CentOS6でエラー「Cannot find a valid baseurl for repo: centos-sclo-rh」が出た時の対処メモ

<目次> (1) CentOS6でエラー「Cannot find a valid baseurl for repo: centos-sclo-rh」が出た時の対処メモ  (1-1) エラーメッセージ …

Linux(CentOS7)にTomcatをインストールする手順について

(0)目次&概説 (1) 記事の目的/前提 (2) 実施手順  (2-1) Tomcat用ユーザ/グループ作成  (2-2) 資源のダウンロード  (2-3) 資源の解凍  (2-4) 資源に必要権限 …

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

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

  • English (United States)
  • 日本語
Top