ハードウェア、BIOS などの組み込みソフトウェア、またはそれらとオペレーティングシステムの関係など、Linux システムに関する情報を取得することが必要な状況は数多くあります。

[ 成功するための Linux 環境の管理方法を学ぶ ]

それらの情報は、システムを詳細に理解するとともに、適切なソフトウェアとドライバーのインストール、パッチの適用、ベンダーサポートの活用、拡張とアップグレードの計画に必要であり、システムを最大限活用するために役立ちます。

一般的に、Linux ディストリビューションにはシステム情報を表示するために使用できる多数のツールが用意されています。大抵は /proc/sys などの仮想ファイルシステムのいずれかを直接確認すればよいのですが、一見しただけでは理解しにくい基本的な情報しか得られないことがあります。

この記事では、システムの CPU、ディスク、RAM、デバイス、ファームウェアの詳細を、直接的でわかりやすい方法で提供する 7 つのコマンドについて説明します。これらのユーティリティはさまざまなソースからの情報をまとめて、システムの機能を理解するのに役立つ関連する概要を提供します。

まずは CPU から見ていきます。

CPU 情報を表示する

lscpu ユーティリティは、モデル情報、コア数、速度、フラグ、仮想化機能、適用されているセキュリティ緩和策など、CPU の機能の包括的な概要を提供します。

$ lscpu
Architecture:            x86_64
  CPU op-mode(s):        32-bit, 64-bit
  Address sizes:         48 bits physical, 48 bits virtual
  Byte Order:            Little Endian
CPU(s):                  2
  On-line CPU(s) list:   0,1
Vendor ID:               AuthenticAMD
  Model name:            AMD Ryzen 7 PRO 5850U with Radeon Graphics
    CPU family:          25
    Model:               80
    Thread(s) per core:  1
    Core(s) per socket:  1
    Socket(s):           2
    Stepping:            0
    BogoMIPS:            3792.88
    Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm rep_good nop
                         l cpuid extd_apicid tsc_known_freq pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor l
                         ahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw perfctr_core ssbd ibrs ibpb stibp vmmcall fsgsbase tsc_adjust bmi1 avx2 smep bmi2
                          erms invpcid rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves clzero xsaveerptr wbnoinvd arat npt lbrv nrip_save tsc_scale vmcb_clean
                          pausefilter pfthreshold v_vmsave_vmload vgif umip pku ospke vaes vpclmulqdq rdpid fsrm arch_capabilities
Virtualization features:
  Virtualization:        AMD-V
  Hypervisor vendor:     KVM
  Virtualization type:   full

lscpu-p オプションとともに使用して特定のフィールドのみを出力したり、-J オプションを使用して JSON 形式で出力することもできます。これらのオプションはどちらも、他のプログラムやスクリプトで解析するのに役立ちます。

次にストレージを見てみましょう。

[ チートシート:サーバーとネットワークの管理に役立つ Linux ユーティリティとコマンドのリストを見る]

ディスク情報を収集する

Linux には、dffdiskmount など、システムに接続されているストレージとディスクを確認するためのユーティリティが多数用意されています。これらは、特定の情報を収集するための優れた手段です。lsblk を使用して、ブロックデバイスの概要を一目で把握することもできます。

$ lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sr0     11:0    1 1024M  0 rom
zram0  251:0    0  3.8G  0 disk [SWAP]
vda    252:0    0   32G  0 disk
├─vda1 252:1    0  600M  0 part /boot/efi
├─vda2 252:2    0    1G  0 part /boot
└─vda3 252:3    0 30.4G  0 part /home
                                /

このユーティリティからはさらに多くの情報が提供されるので、man lsblk を使用してすべてのオプションを確認してください。私は 2 つのオプションをよく使います。出力にファイルシステムの種類を含めるには --fs を、他のプログラムを使用して解析するために JSON 形式で出力するには -J を使用します。

USB 情報を表示する

lsusb ユーティリティを使用して、利用可能な USB デバイスに関する情報を収集します。お使いのディストリビューションにデフォルトでこのユーティリティが含まれていない場合があります。usbutils パッケージをインストールして、このユーティリティにアクセスします。

$ sudo dnf install -y usbutils

次に、lsusbを使用して USB デバイスのリストを表示します。

$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 0627:0001 Adomax Technology Co., Ltd QEMU USB Tablet
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

さらに詳細な出力を得るには、-v または -t オプションを使用して出力をツリー階層としてフォーマットします。

PCI 情報を表示する

次は、lspci を使用して PCI デバイスに関する情報を取得します。このユーティリティは pciutils パッケージに含まれているもので、ディストリビューションによってはインストールが必要になる場合があります。

$ sudo dnf install -y pciutils

lspci を実行して、接続されているすべての PCI デバイスの概要を確認します。

$ lspci
00:00.0 Host bridge: Intel Corporation 82G33/G31/P35/P31 Express DRAM Controller
00:01.0 VGA compatible controller: Red Hat, Inc. Virtio GPU (rev 01)
00:02.0 PCI bridge: Red Hat, Inc. QEMU PCIe Root port
00:02.1 PCI bridge: Red Hat, Inc. QEMU PCIe Root port
00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03)
00:1f.0 ISA bridge: Intel Corporation 82801IB (ICH9) LPC Interface Controller (rev 02)
00:1f.2 SATA controller: Intel Corporation 82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA Controller [AHCI mode] (rev 02)
00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller (rev 02)
01:00.0 Ethernet controller: Red Hat, Inc. Virtio network device (rev 01)
02:00.0 Ethernet controller: Red Hat, Inc. Virtio network device (rev 01)
03:00.0 USB controller: Red Hat, Inc. QEMU XHCI Host Controller (rev 01)
04:00.0 Communication controller: Red Hat, Inc. Virtio console (rev 01)
05:00.0 SCSI storage controller: Red Hat, Inc. Virtio block device (rev 01)
06:00.0 Unclassified device [00ff]: Red Hat, Inc. Virtio memory balloon (rev 01)
07:00.0 Unclassified device [00ff]: Red Hat, Inc. Virtio RNG (rev 01)

-v オプションを使用するとより詳細な出力が得られ、-k オプションを使用するとデバイスで使用されている Linux カーネルモジュールを一覧表示でき、-s オプションを使用すると ID に基づいて特定のデバイスをフィルタリングできます。たとえば、デバイス 05:00.0 のカーネルモジュールを一覧表示するには、次のようにします。

$ lspci -s 05:00.0 -k
05:00.0 SCSI storage controller: Red Hat, Inc. Virtio block device (rev 01)
        Subsystem: Red Hat, Inc. Device 1100
        Kernel driver in use: virtio-pci

lspci ユーティリティには他にも多くのオプションが用意されています。詳細については man ページを確認してください。

[ Linux にアプリケーションをインストールするためのガイドを入手する ]

RAM 情報を表示する

基本的な RAM 使用率の情報を得るには、コマンド free を使用します。

$ free -m
               total        used        free      shared  buff/cache   available
Mem:            3899         269        2616          13        1013        3396
Swap:           3898           0        3898

使用可能なスロットの数とタイプ、製造情報、サイズ、その他の物理的な詳細など、RAM ハードウェアに関する追加情報を得るには、dmidecode ユーティリティを使用します。この汎用ユーティリティは、多くのハードウェアおよびファームウェア・コンポーネントに関する情報を提供します。dmidecode パッケージを使用してインストールできます。

$ sudo dnf install -y dmidecode

dmidecode は膨大な情報のダンプを提供しますが、オプション -t TYPE を使用して出力をフィルタリングし、特定のタイプのみを一覧表示できます。たとえば、RAM 関連の情報のみを表示するには、-tmemory を使用します。

$ sudo dmidecode -t memory
# dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 2.8 present.

Handle 0x1000, DMI type 16, 23 bytes
Physical Memory Array
        Location: Other
        Use: System Memory
        Error Correction Type: Multi-bit ECC
        Maximum Capacity: 4 GB
        Error Information Handle: Not Provided
        Number Of Devices: 1

Handle 0x1100, DMI type 17, 40 bytes
Memory Device
        Array Handle: 0x1000
        Error Information Handle: Not Provided
        Total Width: Unknown
        Data Width: Unknown
        Size: 4 GB
        Form Factor: DIMM
        Set: None
        Locator: DIMM 0
        Bank Locator: Not Specified
        Type: RAM
        Type Detail: Other
        Speed: Unknown
        Manufacturer: QEMU
        Serial Number: Not Specified
        Asset Tag: Not Specified
        Part Number: Not Specified
        Rank: Unknown
        Configured Memory Speed: Unknown
        Minimum Voltage: Unknown
        Maximum Voltage: Unknown
        Configured Voltage: Unknown

このコマンドにはさらに多くの機能があります。それらについて確認しましょう。まずは BIOS 情報からです。

BIOS 情報を表示する

BIOS 情報の概要を表示するには、dmidecode -t bios を使用します。

$ sudo dmidecode -t bios
# dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 2.8 present.

Handle 0x0000, DMI type 0, 26 bytes
BIOS Information
        Vendor: EFI Development Kit II / OVMF
        Version: 0.0.0
        Release Date: 02/06/2015
        Address: 0xE8000
        Runtime Size: 96 kB
        ROM Size: 64 kB
        Characteristics:
                BIOS characteristics not supported
                Targeted content distribution is supported
                UEFI is supported
                System is a virtual machine
        BIOS Revision: 0.0

出力にはファームウェアのバージョンと開発者情報が含まれており、アップデートの計画に役立ちます。

[Red Hat Enterprise Linux でエッジにおけるセキュリティ、柔軟性、スケールを強化]

システム情報を表示する

最後に、製造番号や製品のシリアル番号などの一般的なハードウェア情報については、dmidecode -t system を使用します。

$ sudo dmidecode -t system
# dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 2.8 present.

Handle 0x0100, DMI type 1, 27 bytes
System Information
        Manufacturer: QEMU
        Product Name: Standard PC (Q35 + ICH9, 2009)
        Version: pc-q35-7.0
        Serial Number: Not Specified
        UUID: 3e45ed98-4c27-4566-8ac0-612cb3e956ba
        Wake-up Type: Power Switch
        SKU Number: Not Specified
        Family: Not Specified

Handle 0x2000, DMI type 32, 11 bytes
System Boot Information
        Status: No errors detected

この情報は、ハードウェアに関するオンラインドキュメントを検索したり、ベンダーサポートを得る場合に役立ちます。

次のステップ

Linux オペレーティングシステムを実行するシステムとハードウェアを理解するのに役立つコマンドライン・ユーティリティをいくつか挙げました。これらのユーティリティには特殊なものもありますが、dmidecode は汎用です。dmidecode -t を使用すると、dmidecode が提供できるすべての情報を確認できます。

$ sudo dmidecode -t
dmidecode: option requires an argument -- 't'
Type number or keyword expected
Valid type keywords are:
  bios
  system
  baseboard
  chassis
  processor
  memory
  cache
  connector
  slot

高レベルのユーティリティには他にも、ハードウェアに関する詳細情報を提供する hwinfo や、GUI ツールに関する詳細情報を提供する cpu-x などがあります。これらのツールのいくつかについては、今後の記事で説明する予定です。


執筆者紹介

Ricardo Gerardi is a Principal Consultant at Red Hat, having transitioned from his previous role as a Technical Community Advocate for Enable Sysadmin. He's been at Red Hat since 2018, specializing in IT automation using Ansible and OpenShift.


With over 25 years of industry experience and 20+ years as a Linux and open source enthusiast and contributor, Ricardo is passionate about technology. He is particularly interested in hacking with the Go programming language and is the author of Powerful Command-Line Applications in Go and Automate Your Home Using Go. Ricardo also writes regularly for Red Hat and other blogs, covering topics like Linux, Vim, Ansible, Containers, Kubernetes, and command-line applications.


Outside of work, Ricardo enjoys spending time with his daughters, reading science fiction books, and playing video games.

UI_Icon-Red_Hat-Close-A-Black-RGB

チャンネル別に見る

automation icon

自動化

テクノロジー、チームおよび環境に関する IT 自動化の最新情報

AI icon

AI (人工知能)

お客様が AI ワークロードをどこでも自由に実行することを可能にするプラットフォームについてのアップデート

open hybrid cloud icon

オープン・ハイブリッドクラウド

ハイブリッドクラウドで柔軟に未来を築く方法をご確認ください。

security icon

セキュリティ

環境やテクノロジー全体に及ぶリスクを軽減する方法に関する最新情報

edge icon

エッジコンピューティング

エッジでの運用を単純化するプラットフォームのアップデート

Infrastructure icon

インフラストラクチャ

世界有数のエンタープライズ向け Linux プラットフォームの最新情報

application development icon

アプリケーション

アプリケーションの最も困難な課題に対する Red Hat ソリューションの詳細

Virtualization icon

仮想化

オンプレミスまたは複数クラウドでのワークロードに対応するエンタープライズ仮想化の将来についてご覧ください