以下に、/proc/ディレクトリのトップレベルにある、より役に立つ仮想ファイルの一部のリストを示します。
![]() | 注記 |
---|---|
殆どの場合、このセクションにリストしてあるファイルの内容は、ご利用のマシンにインストールしているものと同じではありません。これは、その情報が、Red Hat Enterprise Linux を稼働しているハードウェアによって異なるためです。 |
このファイルは APM (Advanced Power Management)システムの状態に関する情報を提供しており、apmコマンドで使用されます。バッテリを装着していないシステムが AC電源に接続される場合、この仮想ファイルは次のようになります。
1.16 1.2 0x07 0x01 0xff 0x80 -1% -1 ? |
このようなシステムでapm -vコマンドを実行すると、 次のような結果が出力されます。
APM BIOS 1.2 (kernel driver 1.16ac) AC on-line, no system battery |
電源としてバッテリを使用しないシステムには、apmは、マシンをスタンドバイモードにセットする以外はあまり機能しません。apmコマンドはラップトップではもっと役に立ちます。例えば、次は電源に接続されているラップトップ上の cat /proc/apm コマンドから出力です。
1.16 1.2 0x03 0x01 0x03 0x09 100% -1 ? |
同じラップトップを数分間、電源から切断すると、apm ファイルの内容は次のように変わります:
1.16 1.2 0x03 0x00 0x00 0x01 99% 1792 min |
ここで、apm -vコマンドは、以下のような更に役に立つデータを作り出します。
APM BIOS 1.2 (kernel driver 1.16) AC off-line, battery status high: 99% (1 day, 5:52) |
このファイルは主に、メモリの分散化問題を解析するために使用されます。このバディアルゴリズムの使用では、各桁はある任意の時間に利用できる特定の順の(又は特定のサイズの)ページ数を表示します。例えば、ゾーン DMA (direct memory access) には、メモリの 2^(0*PAGE_SIZE)グループの 90があります。同様に、利用できるメモリの2^(1*PAGE_SIZE)グループには 6、そして2^(2*PAGE_SIZE)グループには 2 があります。
DMAの列は、システム上の最初の16 MB を参照し、HighMemの列はシステム上の4 GB 以上の全てのメモリを参照して、Normalの列はその中間にある全てのメモリを参照します。
以下は、標準的な/proc/buddyinfo出力の例です:
Node 0, zone DMA 90 6 2 1 1 ... Node 0, zone Normal 1650 310 5 0 0 ... Node 0, zone HighMem 2 0 0 1 1 ... |
このファイルは、起動した時点でカーネルに渡されたパラメータを示します。 サンプルの/proc/cmdlineファイルは以下のようになります。
ro root=/dev/VolGroup00/LogVol00 rhgb quiet 3 |
この事で、カーネルが読み込み専用((ro)で表示)でマウントされており、最初のボリュームグループ(/dev/VolGroup00)の最初の論理ボリューム(LogVol00)に配置されていることが分かります。LogVol00は、非-LVM システム(Logical Volume Management)内のディスクパーティションに相当します。/dev/VolGroup00は概念として/dev/hda1に似ていますが、より拡張性があります。
Red Hat Enterprise Linux で使用される LVM に関する詳細情報は、http://www.tldp.org/HOWTO/LVM-HOWTO/index.htmlを参照して下さい。
次ぎに rhgb はrhgbパッケージがインストールされていることと、/etc/inittabがデフォルトのランレベルは id:5:initdefault:に設定されていると表示する限り、グラフィカルブートがサポートされていることを示しています。
最後にquietは、全ての詳細なカーネルメッセージがブート時に抑制されていることを示します。
この仮想ファイルはシステムで使用されているプロセッサのタイプを認識します。 次に標準的な/proc/cpuinfoの出力を示します:
processor : 0 vendor_id : GenuineIntel cpu family : 15 model : 2 model name : Intel(R) Xeon(TM) CPU 2.40GHz stepping : 7 cpu MHz : 2392.371 cache size : 512 KB physical id : 0 siblings : 2 runqueue : 0 fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 2 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm bogomips : 4771.02 |
processor — 各プロセッサに識別番号を提供します。1つのプロセッサしかないシステムでは、0が表示されます。
cpu family — システムのプロセッサタイプを正式に表示します。インテルベースのシステムでは、 "86"の前に数字を入れて、 値を計算します。これは特に586、486、386などの古いアーキテクチャを識別するのに便利です。RPMパッケージが特にこれらの各アーキテクチャ用にコンパイル されていることがある為、この値は、ユーザーがどのパッケージをインストールするか決定するのに役に立ちます。
model name —プロセッサの一般的な名前とプロジェクト名を表示します。
cpu MHz — プロセッサの正確な速度をメガヘルツで千分の1までで表示します。
cache size — プロセッサに利用できるレベル2メモリキャッシュの容量を表示します。
siblings — ハイパー スレッディングを使用するアーキテクチャに対して同じ物理CPUの sibling CPUの数を 表示します。
flags — FPUの有無やMMX指示を処理できるかどうかなど、プロセッサについて 多くの機能を定義します。
このファイルは、それぞれの追加詳細を含む Linux カーネルで作成されたインストール済の暗号文手法を全てリストします。サンプルの/proc/cryptoファイルは以下のようになります:
name : sha1 module : kernel type : digest blocksize : 64 digestsize : 20 name : md5 module : md5 type : digest blocksize : 64 digestsize : 16 |
このファイルは現在設定されている各種のキャラクタデバイスやブロックデバイスを表示します (モジュールがロードされていないデバイスは除く)。 以下にこのファイルからの出力のサンプルを示します。
Character devices: 1 mem 4 /dev/vc/0 4 tty 4 ttyS 5 /dev/tty 5 /dev/console 5 /dev/ptmx 7 vcs 10 misc 13 input 29 fb 36 netlink 128 ptm 136 pts 180 usb Block devices: 1 ramdisk 3 ide0 9 md 22 ide1 253 device-mapper 254 mdp |
/proc/devicesからの出力には、デバイスのメジャー番号と名前が含まれています。 そして2つの主要なセクションに分かれています。Character devicesと Block devicesです。
キャラクタデバイスはブロックデバイスと類似していますが、 次の2つの相違点があります:
キャラクターデバイスはバッファを必要としません。ブロックデバイスは利用出来るバッファを持ち、それらに処理する前に順序付けをすることができます。これは、情報を保存するためのデバイス— ハードディスクなど—にはとても重要です。情報をデバイスに書き込む前に順番を付けることができると、効率のよい順番に配置できるためです。
キャラクタデバイスでは、事前設定サイズのないデータを送信します。ブロックデバイスはデバイス毎の特定サイズ設定のブロック単位で情報を送受信します。
デバイスに関する詳細は、インストールされている以下のドキュメントを参照してください。
/usr/share/doc/kernel-doc-<version>/Documentation/devices.txt |
このファイルは、このファイルは、Linuxカーネルが現在サポートしている実行ドメインと、 サポートしているパーソナリティの範囲の一覧を表示します。
0-0 Linux [kernel] |
実行ドメインをオペレーティングシステムの「パーソナリティ」と考えます。 Solaris、UnixWare、FreeBSD など他のバイナリフォーマットも Linux で使用できるので、 実行しているタスクのパーソナリティを変更して、プログラマーはオペレーティングシステムが、 これらのバイナリからのシステム呼び出しを処理する方法を変更できます。 PER_LINUX実行ドメイン以外は、 各種のパーソナリティが動的にロード可能なモジュールとして実装できます。
このファイルには、フレームバッファデバイス、その番号、それを制御するドライバなどの一覧が保存されています。フレームバッファデバイスを搭載したシステムの/proc/fbの典型的な出力例は次のようになります。
0 VESA VGA |
このファイルは、カーネルが現在サポートしているファイルシステムタイプの一覧を表示します。汎用の/proc/filesystemsの出力例は次のようになります:
nodev sysfs nodev rootfs nodev bdev nodev proc nodev sockfs nodev binfmt_misc nodev usbfs nodev usbdevfs nodev futexfs nodev tmpfs nodev pipefs nodev eventpollfs nodev devpts ext2 nodev ramfs nodev hugetlbfs iso9660 nodev mqueue ext3 nodev rpc_pipefs nodev autofs |
最初の列は、ファイルシステムがブロックデバイスにマウントされているかどうかを示します。 nodevで始まる列は、ファイルシステムがブロックデバイスに マウントされていないことを示します。2番目の列は、サポートされているファイルシステムの名前を 表示します。
mountコマンドは、引数としてファイルシステムが指定されないと、 ここにリストしてあるファイルシステムの中を検索して回ります。
このファイルは x86 アーキテクチャ上で IRQ ごとの割り込み数を記録します。 標準的な/proc/interruptsは次のようになります。
CPU0 0: 80448940 XT-PIC timer 1: 174412 XT-PIC keyboard 2: 0 XT-PIC cascade 8: 1 XT-PIC rtc 10: 410964 XT-PIC eth0 12: 60330 XT-PIC PS/2 Mouse 14: 1314121 XT-PIC ide0 15: 5195422 XT-PIC ide1 NMI: 0 ERR: 0 |
マルチプロセッサのコンピュータの場合、このファイルは多少異なります:
CPU0 CPU1 0: 1366814704 0 XT-PIC timer 1: 128 340 IO-APIC-edge keyboard 2: 0 0 XT-PIC cascade 8: 0 1 IO-APIC-edge rtc 12: 5323 5793 IO-APIC-edge PS/2 Mouse 13: 1 0 XT-PIC fpu 16: 11184294 15940594 IO-APIC-level Intel EtherExpress Pro 10/100 Ethernet 20: 8450043 11120093 IO-APIC-level megaraid 30: 10432 10722 IO-APIC-level aic7xxx 31: 23 22 IO-APIC-level aic7xxx NMI: 0 ERR: 0 |
1番目の列はIRQ番号です。システム内のそれぞれのCPUは独自の列とIRQごとの割り込み数を持ちます。 次の列は割込みのタイプを示し、最後の列がそのIRQにあるデバイス名です。
このファイル内の各割り込みタイプはアーキテクチャ固有なので、それぞれ意味することが異なります。 x86 マシンなら以下のような値が一般的です。
XT-PIC — 従来のATコンピュータの割り込み。
IO-APIC-edge — この割り込みで電圧信号が「低」から「高」に推移すると、エッジが作成されます。ここで割り込みが生じ、1度だけ信号が生成されます。この種の割り込みは、IO-APIC-level 割り込みと同じように、586ファミリ以上のプロセッサを搭載したシステムでのみ生じます。
IO-APIC-level — 電圧信号が「高」になると、その信号が再度「低」に なるまで割り込みが生成されます。
このファイルは、それぞれのデバイス用に、システムの現在のメモリマップを表示します:
00000000-0009fbff : System RAM 0009fc00-0009ffff : reserved 000a0000-000bffff : Video RAM area 000c0000-000c7fff : Video ROM 000f0000-000fffff : System ROM 00100000-07ffffff : System RAM 00100000-00291ba8 : Kernel code 00291ba9-002e09cb : Kernel data e0000000-e3ffffff : VIA Technologies, Inc. VT82C597 [Apollo VP3] e4000000-e7ffffff : PCI Bus #01 e4000000-e4003fff : Matrox Graphics, Inc. MGA G200 AGP e5000000-e57fffff : Matrox Graphics, Inc. MGA G200 AGP e8000000-e8ffffff : PCI Bus #01 e8000000-e8ffffff : Matrox Graphics, Inc. MGA G200 AGP ea000000-ea00007f : Digital Equipment Corporation DECchip 21140 [FasterNet] ea000000-ea00007f : tulip ffff0000-ffffffff : reserved |
最初の列は異なる各メモリタイプで使用するメモリレジスタを表示します。2番目の列は、これらのレジスタ内にあるメモリの種類を示し、 システムの RAM 内でカーネルが使用するメモリレジスタを表示、あるいは NIC に複数のイーサネットポートがある場合は、各ポートに割り当てられているメモリレジスタも表示します。
/proc/ioportsの出力は、デバイスで入出力通信に使用する現在登録されているポート領域の一覧を提供します。このファイルはきわめて長くなることがあります。以下は一覧の一部です。
0000-001f : dma1 0020-003f : pic1 0040-005f : timer 0060-006f : keyboard 0070-007f : rtc 0080-008f : dma page reg 00a0-00bf : pic2 00c0-00df : dma2 00f0-00ff : fpu 0170-0177 : ide1 01f0-01f7 : ide0 02f8-02ff : serial(auto) 0376-0376 : ide1 03c0-03df : vga+ 03f6-03f6 : ide0 03f8-03ff : serial(auto) 0cf8-0cff : PCI conf1 d000-dfff : PCI Bus #01 e000-e00f : VIA Technologies, Inc. Bus Master IDE e000-e007 : ide0 e008-e00f : ide1 e800-e87f : Digital Equipment Corporation DECchip 21140 [FasterNet] e800-e87f : tulip |
1番目の列には2番目の列に表示されているデバイスのために予約されている実際のIOポートアドレス範囲が表示されます。
このファイルはシステムの物理メモリを表し、コアファイルフォーマットで保存されます。大部分の /procファイルと異なり、kcoreはサイズを表示します。この値はバイト単位で、使用される物理メモリ(RAM)のサイズに 4K バイトを加えたものです。
このファイルの内容は、gdbなどのデバッガで検査されるようにデザインされており人間には読み取れません。
![]() | 注意 |
---|---|
/proc/kcore仮想ファイルは表示しないでください。このファイルの内容は、ターミナル上のテキスト出力を撹乱させます。誤ってこのファイルを表示させてしまった場合は、 |
このファイルはカーネルによって生成されるメッセージの保留のに使用されます。 保留されたメッセージは後に後/sbin/klogdや/bin/dmesgなどの 他のプログラムによって使用されます。
このファイルは、CPU と IO オーバータイム両方に関するロード平均と共にuptimeや他のコマンドが使用する追加データを表示します。 /proc/loadavgファイルの例は次の通りです:
0.20 0.18 0.12 1/80 11206 |
最初の3 桁は、1分、5分、10分間前に測定された CPU と IO 使用率を表示します。4番目の桁は、現在実行されているプロセス数とプロセス総数を表示します。最後の桁は、前回使用したプロセス ID を表示します。
このファイルは、カーネルが現在ロックしているファイルを表示します。このファイルには、 カーネルの内部デバッグデータが保存されており、ファイル内容はシステムの使用によって大きく異なります。負荷の軽いシステムの/proc/locksファイルの出力例は次のようになります。
1: POSIX ADVISORY WRITE 3568 fd:00:2531452 0 EOF 2: FLOCK ADVISORY WRITE 3517 fd:00:2531448 0 EOF 3: POSIX ADVISORY WRITE 3452 fd:00:2531442 0 EOF 4: POSIX ADVISORY WRITE 3443 fd:00:2531440 0 EOF 5: POSIX ADVISORY WRITE 3326 fd:00:2531430 0 EOF 6: POSIX ADVISORY WRITE 3175 fd:00:2531425 0 EOF 7: POSIX ADVISORY WRITE 3056 fd:00:2548663 0 EOF |
各ロックに対して、各行の始めに固有の番号が割り当てられます。2番目の列は、 使用ロッククラスを示します。FLOCKは、 flockシステム呼び出しからの従来のスタイルのUNIXファイルロックを表し、 POSIXは、lockfシステム呼び出し からの新しいPOSIXロックを表します。
3番目の桁には2つの値:ADVISORY又はMANDATORYです。ADVISORYは、ロックしても他のユーザーがデータにアクセスできることを意味します。つまり、他のユーザーがロックすることを防止するのみです。MANDATORYは、ロックされている間、他のユーザーがデータにアクセスできないことを意味します。4番目の桁は、ロックによってREADやWRITEのアクセス権を持つユーザーがファイルにアクセスできるようにするかどうかを示します。5番目の桁は、ロックを保持するプロセスの ID を示します。6番目の桁は、ロックされるファイルの ID を示します。その形式は、MAJOR-DEVICE:MINOR-DEVICE :INODE-NUMBERです。7番目と8番目の桁は、ファイルのロックされた領域の開始と終了を示します。
このファイルには、複数ディスクのRAID設定の現在の情報が保存されています。 システムにこのような設定がない場合、/proc/mdstat ファイルは次のようになります。
Personalities : read_ahead not set unused devices: <none> |
ソフトウェアRAIDもしくはmdデバイスを作成しない限り、ファイルは上記の状態のままです。その場合は、/proc/mdstatを表示して、mdX RAID デバイスでの現在の状況を見ます。
/proc/mdstatファイルは、以下のように、システムにRAID 1デバイスとして構成された md0を示します。ファイルは、ディスクを現在再同期化しています:
Personalities : [linear] [raid1] read_ahead 1024 sectors md0: active raid1 sda2[1] sdb2[0] 9940 blocks [2/2] [UU] resync=1% finish=12.3min algorithm 2 [3/3] [UUU] unused devices: <none> |
これは、よく使われる/procディレクトリ内のファイルの1つです。 システム上の現在のRAM使用率についての大量の貴重な情報をレポートします。
次の例のような/proc/meminfo仮想ファイルは 256 MバイトのRAM と 512 Mバイトのスワップ領域を持つシステムからの例です:
MemTotal: 255908 kB MemFree: 69936 kB Buffers: 15812 kB Cached: 115124 kB SwapCached: 0 kB Active: 92700 kB Inactive: 63792 kB HighTotal: 0 kB HighFree: 0 kB LowTotal: 255908 kB LowFree: 69936 kB SwapTotal: 524280 kB SwapFree: 524280 kB Dirty: 4 kB Writeback: 0 kB Mapped: 42236 kB Slab: 25912 kB Committed_AS: 118680 kB PageTables: 1236 kB VmallocTotal: 3874808 kB VmallocUsed: 1416 kB VmallocChunk: 3872908 kB HugePages_Total: 0 HugePages_Free: 0 Hugepagesize: 4096 kB |
この情報の多くは、free、top、psコマンドで使用します。実際、freeコマンドの出力は/proc/meminfoの内容と構造によく似ていますが、/proc/meminfoを見ると、より多くの詳細を表示しています。
MemTotal — 物理RAMの総容量。Kバイト単位。
MemFree — 物理RAMの空き容量。Kバイト単位。
Buffers — ファイルバッファに使用する物理RAMの容量。Kバイト単位。
Cached — キャッシュメモリとして使用される物理RAMの容量。Kバイト単位。
SwapCached — キャッシュメモリとして使用されるスワップ量。Kバイト単位。
Active—実際に使用しているバッファメモリか、ページキャッシュメモリの容量。Kバイト単位。これは、最近使用されたメモリで、通常その他の目的には要求されません。
Inactive — 現在空き状態で利用可能なバッファメモリか、ページキャッシュメモリの容量。K バイト単位。これは最近使用されていないメモリで、他の目的に要求される可能性があります。
HighTotalと HighFree — カーネル領域に直接 マッピングされないメモリの総容量と空き容量。HighTotalの値は、使用するカーネルタイプに よって異なります。Kバイト単位。
LowTotalと LowFree — カーネル領域に直接 マッピングされるメモリの総容量と空き容量。LowTotalの値は使用カーネルタイプに よって異なります。Kバイト単位。
SwapTotal — 利用可能なスワップ総容量。Kバイト単位。
SwapFree — 空きスワップの総容量。Kバイト単位。
Dirty—ディスクに書き込みをする為に待機中のメモリの総量。 K バイト単位。
Writeback—ディスクに実際に書き込みをしているメモリの総量。K バイト単位。
Mapped—mmapコマンドを使用してデバイス、ファイル又はライブラリにマップする為に使用しているメモリの総量。K バイト単位。
Slab—自己使用の為にデータ構造をキャッシュするのにカーネルで使用されるメモリの総量。K バイト単位。
Committed_AS—ワークロードを完了すると推定されるメモリの総量。この値は最悪のケース状態を示し、スワップメモリも含みます。K バイト単位。
PageTables — ページテーブルの一番低いレベルに専任しているメモリの総量。Kバイト単位。
VMallocTotal — 仮想アドレス領域に割り当てられているメモリの総量。K バイト単位。
VMallocUsed — 仮想アドレス領域で使用されているメモリの総量。K バイト単位。
VMallocChunk — 仮想アドレス領域で利用可能なメモリの最大隣接ブロックのサイズ。K バイト単位。
HugePages_Total — システムの hugepageの総数です。この数字はHugepagesizeを/proc/sys/vm/hugetlb_poolに指定されて hugepage 用に確保されたメガバイト値で割ったものです。この統計は、x86、Itanium、AMD64 アーキテクチャ上のみに表示されます。
HugePages_Free — システムで使用可能なhugepage の総数。この統計は x86、Itanium、及び AMD64, アーキテクチャの場合のみ表示。
Hugepagesize — 各 hugepage 単位のサイズ。K バイト単位。デフォルトでは、32ビット アーキテクチャの単一プロセッサカーネル場合は 4096K バイト、SMP、hugemem カーネルと AMD64 の場合は 2048K バイト、Itanium アーキテクチャの場合は 262144K バイト。この統計は x86、Itanium、AMD64 アーキテクチャの場合のみ表示。
このファイルは、デバイス番号10のその他のメジャーデバイス上に登録されている その他のドライバを一覧表示します:
63 device-mapper 175 agpgart 135 rtc 134 apm_bios |
最初の列は各デバイスのマイナー番号で、2番目の列は使用中のドライバです。
ファイルには、カーネルにロードしたすべてのモジュールの一覧が表示されます。 その内容はシステムの設定と用途によって異なりますが、次の/proc/modulesファイル出力の例と似たような構成になっています。
![]() | 注記 |
---|---|
この例では読み取り可能な形式にフォーマット変更されています。この情報は/sbin/lsmodコマンドでも表示することもできます。 |
nfs 170109 0 - Live 0x129b0000 lockd 51593 1 nfs, Live 0x128b0000 nls_utf8 1729 0 - Live 0x12830000 vfat 12097 0 - Live 0x12823000 fat 38881 1 vfat, Live 0x1287b000 autofs4 20293 2 - Live 0x1284f000 sunrpc 140453 3 nfs,lockd, Live 0x12954000 3c59x 33257 0 - Live 0x12871000 uhci_hcd 28377 0 - Live 0x12869000 md5 3777 1 - Live 0x1282c000 ipv6 211845 16 - Live 0x128de000 ext3 92585 2 - Live 0x12886000 jbd 65625 1 ext3, Live 0x12857000 dm_mod 46677 3 - Live 0x12833000 |
一番目の桁にはモジュール名が含まれています。
二番目の桁はモジュールのメモリサイズをバイト単位で表示します。
三番目の桁は現在ロードされているモジュールのインスタンス数量をリストします。0の値はロードされていないモジュールを示します。
四番目の桁はモジュールが機能するために別のモジュールに依存するかどうかを表示します。そしてその他の依存モジュールをリストします。
五番目の桁はモジュールのロード状態をリストします: Live、Loading、又はUnloadingのみが表示可能な値です。
六番目の桁はロードされたモジュールの現在のカーネルメモリオフセットをリストします。この情報はデバッグ目的やoprofileなどのプロファイルツールの為に役に立ちます。
このファイルは、システムで使用中の全マウントの一覧を提供します。
rootfs / rootfs rw 0 0 /proc /proc proc rw,nodiratime 0 0 none /dev ramfs rw 0 0 /dev/mapper/VolGroup00-LogVol00 / ext3 rw 0 0 none /dev ramfs rw 0 0 /proc /proc proc rw,nodiratime 0 0 /sys /sys sysfs rw 0 0 none /dev/pts devpts rw 0 0 usbdevfs /proc/bus/usb usbdevfs rw 0 0 /dev/hda1 /boot ext3 rw 0 0 none /dev/shm tmpfs rw 0 0 none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0 sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw 0 0 |
この出力は/etc/mtabの内容と似ていますが、/proc/mountが最新のものである点が異なります。
1番目の列は、マウントされているデバイスを示します。2番目の列は、マウントポイントを表します。3番目の列は、ファイルシステムタイプを示します。4番目の列は、読み取り専用でマウントされているか(ro)、読み取り/書き込み(rw)モードでマウントされているかを示します。5番目と6番目の列は、/etc/mtabで使用されるフォーマットと一致させるためのダミー値です。
このファイルは、システムで使用中の MTRR (Memory Type Range Registers)です。 システムのアーキテクチャが MTRR をサポートしている場合は、/proc/mtrr ファイルは、以下に似た表示となります。
reg00: base=0x00000000 ( 0MB), size= 256MB: write-back, count=1 reg01: base=0xe8000000 (3712MB), size= 32MB: write-combining, count=1 |
MTRR は、Intel P6 系 プロセッサ(Pentium II 以上)で使用します。これは、プロセッサのメモリ範囲へのアクセスを制御します。PCIバスか AGPバス上でビデオカードを使用する際に、/proc/mtrrファイルを正しく設定すると、パフォーマンスは 150% 以上向上します。
ほとんどの場合、この値はデフォルトで正しく設定されています。手動でこのファイルを設定する方法については、オンラインで次の URL で見る事ができます:
/usr/share/doc/kernel-doc-<version>/Documentation/mtrr.txt |
このファイルには、パーティションブロックの割り当て情報が含まれています。基本的なシステムからのファイルサンプルは次ぎの様になります:
major minor #blocks name 3 0 19531250 hda 3 1 104391 hda1 3 2 19422585 hda2 253 0 22708224 dm-0 253 1 524288 dm-1 |
ここに述べる情報の多くは大部分のユーザーにとってはあまり重要ではありません。ただし、次の列は重要です:
major — このパーティションを持つデバイスのメジャー番号。/proc/partitionsのメジャー番号(3) は/proc/devicesのブロックデバイスide0に相当します。
minor — このパーティションを持つデバイスのマイナー番号。 これにより、パーティションを異なる物理デバイスに分け、パーティション名末尾の番号に関連します。
#blocks — 特定のパーティションに入っている物理ディスクブロックの 番号の一覧を表示します。
name — パーティションの名前。
このファイルには、システム上の各PCIデバイスの完全な一覧が保存されています。 PCIデバイス数によって、/proc/pciはかなり長くなることがあります。基本的なシステムでは次の例に似た表示になります。
Bus 0, device 0, function 0: Host bridge: Intel Corporation 440BX/ZX - 82443BX/ZX Host bridge (rev 3). Master Capable. Latency=64. Prefetchable 32 bit memory at 0xe4000000 [0xe7ffffff]. Bus 0, device 1, function 0: PCI bridge: Intel Corporation 440BX/ZX - 82443BX/ZX AGP bridge (rev 3). Master Capable. Latency=64. Min Gnt=128. Bus 0, device 4, function 0: ISA bridge: Intel Corporation 82371AB PIIX4 ISA (rev 2). Bus 0, device 4, function 1: IDE interface: Intel Corporation 82371AB PIIX4 IDE (rev 1). Master Capable. Latency=32. I/O at 0xd800 [0xd80f]. Bus 0, device 4, function 2: USB Controller: Intel Corporation 82371AB PIIX4 USB (rev 1). IRQ 5. Master Capable. Latency=32. I/O at 0xd400 [0xd41f]. Bus 0, device 4, function 3: Bridge: Intel Corporation 82371AB PIIX4 ACPI (rev 2). IRQ 9. Bus 0, device 9, function 0: Ethernet controller: Lite-On Communications Inc LNE100TX (rev 33). IRQ 5. Master Capable. Latency=32. I/O at 0xd000 [0xd0ff]. Non-prefetchable 32 bit memory at 0xe3000000 [0xe30000ff]. Bus 0, device 12, function 0: VGA compatible controller: S3 Inc. ViRGE/DX or /GX (rev 1). IRQ 11. Master Capable. Latency=32. Min Gnt=4.Max Lat=255. Non-prefetchable 32 bit memory at 0xdc000000 [0xdfffffff]. |
この出力はすべてのPCIデバイスをバス、デバイス、機能の順にソートした一覧を表しています。デバイスの名前とバージョンのほか、詳細な IRQ情報も得られるので、コンフリクトをすぐに検出できます。
![]() | ヒント | |
---|---|---|
より読みやすい情報は次のように入力して得られます:
|
このファイルは、slabレベルのメモリ使用率についての情報を提供します。バージョン2.2 以降の Linux カーネルは、 slab poolsを使用してページレベル以上のメモリを管理します。よく使用されるオブジェクトには独自の slab pool があります。
高度に詳細表示の/proc/slabinfoファイルを手動で構文解析する代わりに、/usr/bin/slabtopプログラムがリアルタイムでカーネルスラブキャッシュ情報を表示します。このプログラムにより、コラム選別や画面リフレッシュなどのカスタム設定が可能になります。
/usr/bin/slabtopの画面の例は以下のようになります:
Active / Total Objects (% used) : 133629 / 147300 (90.7%) Active / Total Slabs (% used) : 11492 / 11493 (100.0%) Active / Total Caches (% used) : 77 / 121 (63.6%) Active / Total Size (% used) : 41739.83K / 44081.89K (94.7%) Minimum / Average / Maximum Object : 0.01K / 0.30K / 128.00K OBJS ACTIVE USE OBJ SIZE SLABS OBJ/SLAB CACHE SIZE NAME 44814 43159 96% 0.62K 7469 6 29876K ext3_inode_cache 36900 34614 93% 0.05K 492 75 1968K buffer_head 35213 33124 94% 0.16K 1531 23 6124K dentry_cache 7364 6463 87% 0.27K 526 14 2104K radix_tree_node 2585 1781 68% 0.08K 55 47 220K vm_area_struct 2263 2116 93% 0.12K 73 31 292K size-128 1904 1125 59% 0.03K 16 119 64K size-32 1666 768 46% 0.03K 14 119 56K anon_vma 1512 1482 98% 0.44K 168 9 672K inode_cache 1464 1040 71% 0.06K 24 61 96K size-64 1320 820 62% 0.19K 66 20 264K filp 678 587 86% 0.02K 3 226 12K dm_io 678 587 86% 0.02K 3 226 12K dm_tio 576 574 99% 0.47K 72 8 288K proc_inode_cache 528 514 97% 0.50K 66 8 264K size-512 492 372 75% 0.09K 12 41 48K bio 465 314 67% 0.25K 31 15 124K size-256 452 331 73% 0.02K 2 226 8K biovec-1 420 420 100% 0.19K 21 20 84K skbuff_head_cache 305 256 83% 0.06K 5 61 20K biovec-4 290 4 1% 0.01K 1 290 4K revoke_table 264 264 100% 4.00K 264 1 1056K size-4096 260 256 98% 0.19K 13 20 52K biovec-16 260 256 98% 0.75K 52 5 208K biovec-64 |
/usr/bin/slabtop含まれている/proc/slabinfo内の良く使用される統計の一部には次ぎのようなものがあります:
OBJS — 使用中(割り当て済)や未使用のスペアなどを含むオブジェクト(メモリブロック)の総数。
ACTIVE — 使用中(割り当て済)のオブジェクト(メモリブロック)の数。
USE — アクティブな総オブジェクトのパーセント数((ACTIVE/OBJS)(100))。
OBJ SIZE — オブジェクトのサイズ。
SLABS — スラブの総数。
OBJ/SLAB — スラブに適合するオブジェクトの数。
CACHE SIZE — スラブのキャッシュサイズ。
NAME — スラブの名前。
/usr/bin/slabtop プログラムについての詳細は、slabtopの man ページを参照してください。
このファイルには、システムが最後に再起動されたとき以降のシステムに関する さまざまな統計情報が記録されています。 /proc/statの内容はきわめて長くなることがありますが、一般的に開始は次のようになります。
cpu 259246 7001 60190 34250993 137517 772 0 cpu0 259246 7001 60190 34250993 137517 772 0 intr 354133732 347209999 2272 0 4 4 0 0 3 1 1249247 0 0 80143 0 422626 5169433 ctxt 12547729 btime 1093631447 processes 130523 procs_running 1 procs_blocked 0 preempt 5651840 cpu 209841 1554 21720 118519346 72939 154 27168 cpu0 42536 798 4841 14790880 14778 124 3117 cpu1 24184 569 3875 14794524 30209 29 3130 cpu2 28616 11 2182 14818198 4020 1 3493 cpu3 35350 6 2942 14811519 3045 0 3659 cpu4 18209 135 2263 14820076 12465 0 3373 cpu5 20795 35 1866 14825701 4508 0 3615 cpu6 21607 0 2201 14827053 2325 0 3334 cpu7 18544 0 1550 14831395 1589 0 3447 intr 15239682 14857833 6 0 6 6 0 5 0 1 0 0 0 29 0 2 0 0 0 0 0 0 0 94982 0 286812 ctxt 4209609 btime 1078711415 processes 21905 procs_running 1 procs_blocked 0 |
よく使用される統計情報には次のようなものがあります。
cpu — jiffiesの数値(x86 用には百分の1秒)を測定します。システムがユーザーモード、低優先度のユーザーモード(nice)、システムモード、アイドルタスク、I/O 待機、IRQ (hardirq)、及び softirq などの状態であったことを測定します。IRQ (hardirq) は、ハードウェアイベントに対する直接反応です。IRQ は softirq が実行できるように「ヘビー」なワークアップをキューする為に最低限のワークを引き受けます。softirq は IRQ よりも低優先度で実行されますので、より多く割り込みされます。全ての CPU 合計は最上部に位置し、個別 CPU はその統計情報と共にその下に表示されます。以下の例では、マルチスレッドを有効にした 4-way Intel Pentium Xeon 設定で、4つの物理的なプロセッサーと4つの仮想プロセッサーの合計8つのプロセッサーを示しています。
page — システムがディスクに書き込んだあるいは書き出したメモリページ数。
swap — システムが入出力したスワップページ数。
intr — システムへの割り込み数。
btime — 1970年1月1日以降の起動時間。秒単位。エポックとも言います。
このファイルはスワップ領域とその使用率を測定します。 スワップパーティションが1つのシステムの場合、 /proc/swapの出力は次のようになります。
Filename Type Size Used Priority /dev/mapper/VolGroup00-LogVol01 partition 524280 0 -1 |
この情報の一部は他の/proc/ディレクトリにもありますが、/proc/swapファイルは、各スワップファイルの名前、スワップ領域のタイプ、合計サイズ、使用中の領域(Kバイト単位)などのスナップショットを提供します。Priority の桁は、複数のスワップファイルを使用している場合に便利です。Priority (優先度)が低いほど、そのスワップファイルが使用される可能性が高くなります。
echo コマンドを使用してこのファイルに書き込みを行なうとリモート root ユーザーはローカルターミナルで行なっているような感覚でシステム要求キーコマンドを遠隔操作することができます。このファイルに値をechoするには、0以外の値を/proc/sys/kernel/sysrq に設定する必要があります。システム要求キーについての詳細は、項5.3.9.3を参照してください。
root ユーザーであっても、このファイルに書き込むことはできますが、読むことはできません。
このファイルには、システムを最後に再起動してから経過した時間についての情報が保存されています。 /proc/uptimeの出力は次のように短いものです:
350735.47 234388.90 |
最初の数字は、システムが起動されている時間の総数を秒単位で表しています。 2番目の数字はその時間のうちのアイドル時間を秒単位で表しています。
このファイルは、使用中のLinuxカーネルとgccのバージョン、 及びシステムにインストールされている Red Hat Enterprise Linux のバージョンを表示します。
Linux version 2.6.8-1.523 (user@foo.redhat.com) (gcc version 3.4.1 20040714 \ (Red Hat Enterprise Linux 3.4.1-7)) #1 Mon Aug 16 13:27:03 EDT 2004 |
この情報はユーザーがログインした時のバージョンデータなど、さまざまな目的に使用できます。