Man On a Mission

システム運用屋が、日々のあれこれを記録していくブログです。情報処理技術者試験の話題多し。高度試験の攻略なども。最近はやや歴史づいてます…。

【Linux】ハードウェア情報の確認【/proc】

今日は小ネタを一つ。
Linuxで、ハードウェアに起因するトラブルが発生した場合や、搭載するCPUがサポートする機能など、ハードウェア情報を確認したい場合があります。

Windowsならデバイスマネージャから確認したり、CPU機能の識別ユーティリティなど使用するところですが、Linuxの場合は、/proc以下のファイルをcatコマンドで表示することで確認できます。

例:IRQの確認
cat /proc/interrupts
例:CPUがサポートする機能の確認
cat /proc/cpuinfo

※flagsがCPUの拡張機能を表示している部分です。例えば、vmxがあれば仮想化支援*1サポート、htがあればハイパースレッディングサポート等々…。

/procは疑似的なファイルシステムで、ハードディスクなどに実際にファイルが存在するわけではありません。
プロセスやメモリーなどのLinuxシステム上のリソース関連情報を,あたかもファイルであるかのように配置したものです。疑似的とはいえ、/proc以下のファイルの多くはASCIIテキストなので、catコマンドで内容を表示できます。

なお、例として/proc以下の主なファイルを挙げます。

devices メジャーデバイス番号とデバイス名リスト
dma 登録されているDMAチャネル
interrupts 使用されているIRQと割り込み回数
ioports 使用されているI/Oアドレス領域
cpuinfo CPUの各種情報
meminfo 物理メモリとスワップに関する情報
mounts マウントされているファイルシステム
partitions カーネルが認識しているパーティション

おまけ

ちなみに、/proc以下のファイルを表示する以外に、lsdevコマンド*2を使用することでDMA、IRQ、I/Oアドレスを一覧表示することができます。
また、PCIバスおよびPCIバイスの情報を表示するには、lspciコマンド*3が利用できます。lspciコマンドでは、オプション「-v」をつけることで詳細情報を、「-vv」をつけることでさらに詳細な情報を表示することができます。

 

 

*1:Intel製の場合。AMDならsvm

*2:ubuntuの場合、procinfoパッケージに含まれています。

*3:ubuntuの場合、pciutilsパッケージに含まれています。