Linuxのハードウェア情報を取得するコマンド15選
Linuxの管理をしていると、OSが搭載されているハードウェア情報を取得する事がある。
今回は、そんなときに使えるハードウェア情報を取得するコマンドを紹介する。
1.lscpu
CPUに関する情報を取得するコマンド。コア数やスレッド数、仮想に対応しているか否か等の情報を取得出来る。
以下に実行例を記載する。
$ lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 4 On-line CPU(s) list: 0-3 コアあたりのスレッド数:1 ソケットあたりのコア数:4 Socket(s): 1 NUMAノード: 1 ベンダーID: GenuineIntel CPUファミリー: 6 モデル: 23 ステッピング: 10 CPU MHz: 2833.596 BogoMIPS: 5667.19 仮想化: VT-x L1d キャッシュ: 32K L1i キャッシュ: 32K L2 キャッシュ: 6144K NUMA node0 CPU(s): 0-3
2.lspci
pciに接続されているハードウェアをリストアップするコマンド。
以下に実行例を記載する。
$ lspci 00:00.0 Host bridge: Intel Corporation 82G33/G31/P35/P31 Express DRAM Controller (rev 02) 00:01.0 PCI bridge: Intel Corporation 82G33/G31/P35/P31 Express PCI Express Root Port (rev 02) 00:1a.0 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 (rev 02) 00:1a.1 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5 (rev 02) 00:1a.2 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #6 (rev 02) 00:1a.7 USB controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2 (rev 02) 00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 02) 00:1c.0 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 1 (rev 02) 00:1c.1 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 2 (rev 02) 00:1c.4 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 5 (rev 02) 00:1c.5 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 6 (rev 02) 00:1d.0 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 (rev 02) 00:1d.1 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 (rev 02) 00:1d.2 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 (rev 02) 00:1d.7 USB controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 (rev 02) 00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 92) 00:1f.0 ISA bridge: Intel Corporation 82801IR (ICH9R) LPC Interface Controller (rev 02) 00:1f.2 IDE interface: Intel Corporation 82801IR/IO/IH (ICH9R/DO/DH) 4 port SATA Controller [IDE mode] (rev 02) 00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller (rev 02) 00:1f.5 IDE interface: Intel Corporation 82801I (ICH9 Family) 2 port SATA Controller [IDE mode] (rev 02) 01:00.0 VGA compatible controller: NVIDIA Corporation G98 [GeForce 8400 GS] (rev a1) 03:00.0 SATA controller: Marvell Technology Group Ltd. 88SE9123 PCIe SATA 6.0 Gb/s controller (rev 11) 03:00.1 IDE interface: Marvell Technology Group Ltd. 88SE9128 IDE Controller (rev 11) 04:00.0 SATA controller: JMicron Technology Corp. JMB363 SATA/IDE Controller (rev 02) 04:00.1 IDE interface: JMicron Technology Corp. JMB363 SATA/IDE Controller (rev 02) 05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 01) 06:06.0 FireWire (IEEE 1394): Texas Instruments TSB43AB23 IEEE-1394a-2000 Controller (PHY/Link)
3.lsscsi
SCSI接続されているデバイスの情報を取得するコマンド。
以下に実行例を記載する。
$ lsscsi [0:0:0:0] disk ATA WDC WD25EZRX-00M 80.0 /dev/sda [1:0:0:0] disk ATA WDC WD25EZRX-00M 80.0 /dev/sdb [7:0:0:0] process Marvell 91xx Config 1.01 - [8:0:0:0] disk ATA WDC WD6400AAKS-0 01.0 /dev/sdc [9:0:0:0] disk ATA WDC WD6400AAKS-0 01.0 /dev/sdd [12:0:0:0] disk ATA WDC WD25EZRX-00M 80.0 /dev/sde [12:0:1:0] disk ATA WDC WD25EZRX-00M 80.0 /dev/sdf [13:0:0:0] disk ATA WDC WD25EZRX-00M 80.0 /dev/sdg [13:0:1:0] disk ATA WDC WD25EZRX-00M 80.0 /dev/sdh [14:0:0:0] disk ATA WDC WD25EZRX-00M 80.0 /dev/sdi [15:0:0:0] disk ATA WDC WD25EZRX-00M 80.0 /dev/sdj
4.lsusb
接続されているUSBデバイス情報を取得するコマンド。
以下に実行例を記載する。
$ lsusb Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 001 Device 002: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB Bus 001 Device 003: ID 04fe:0008 PFU, Ltd Bus 001 Device 004: ID 0584:c2da RATOC System, Inc. Bus 001 Device 005: ID 04fe:0006 PFU, Ltd Bus 001 Device 006: ID 046d:c52b Logitech, Inc. Unifying Receiver
5.lshw
後述する「/proc」フォルダ配下にあるようなハードウェア情報を、分かりやすく一覧表示してくれるコマンドだ。
別途インストールする必要があるので、以下のコマンドでインストールする。
$ sudo apt-get install lshw (Debian/Ubuntuの場合) $ sudo yum install lshw (RHEL系の場合)
実際に実行した結果がこちら。
6.hwinfo
lshwと同様に、ハードウェア情報を分かりやすく一覧化してくれるコマンド。
以下に実行例を記載する。
$ hwinfo --short cpu: Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz, 2000 MHz Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz, 2000 MHz keyboard: /dev/input/event2 AT Translated Set 2 keyboard mouse: /dev/input/mice Macintosh mouse button emulation /dev/input/mice VMware Mouse graphics card: VMWare VMWARE0405 storage: Floppy disk controller VMWare Virtual Machine Chipset VMWare LSI Logic Parallel SCSI Controller network: eth0 VMWare VMXNET3 Ethernet Controller network interface: lo Loopback network interface eth0 Ethernet network interface disk: /dev/sda VMware Virtual disk partition: /dev/sda1 Partition /dev/sda2 Partition cdrom: /dev/sr0 NECVMWar VMware IDE CDR10 floppy: /dev/fd0 Floppy Disk bios: BIOS bridge: VMWare Virtual Machine Chipset Intel 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge VMWare Virtual Machine Chipset VMWare Virtual Machine Chipset VMWare PCI bridge VMWare PCI Express Root Port VMWare PCI Express Root Port VMWare PCI Express Root Port VMWare PCI Express Root Port VMWare PCI Express Root Port VMWare PCI Express Root Port VMWare PCI Express Root Port VMWare PCI Express Root Port VMWare PCI Express Root Port VMWare PCI Express Root Port VMWare PCI Express Root Port VMWare PCI Express Root Port VMWare PCI Express Root Port VMWare PCI Express Root Port VMWare PCI Express Root Port VMWare PCI Express Root Port VMWare PCI Express Root Port VMWare PCI Express Root Port VMWare PCI Express Root Port VMWare PCI Express Root Port VMWare PCI Express Root Port VMWare PCI Express Root Port VMWare PCI Express Root Port VMWare PCI Express Root Port VMWare PCI Express Root Port VMWare PCI Express Root Port VMWare PCI Express Root Port VMWare PCI Express Root Port VMWare PCI Express Root Port VMWare PCI Express Root Port VMWare PCI Express Root Port VMWare PCI Express Root Port memory: Main Memory unknown: FPU DMA controller PIC Timer Keyboard controller /dev/lp0 Parallel controller VMWare Virtual Machine Communication Interface /dev/ttyS0 16550A /dev/ttyS1 16550A
7.lsblk
ブロックデバイスリストを取得することが出来るコマンド。
以下にその実行例を記載する。
$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 100G 0 disk tqsda1 8:1 0 500M 0 part /boot mqsda2 8:2 0 99.5G 0 part tqvg_testcentos-lv_root (dm-0) 253:0 0 47.5G 0 lvm / tqvg_testcentos-lv_swap (dm-1) 253:1 0 5.9G 0 lvm [SWAP] mqvg_testcentos-lv_home (dm-2) 253:2 0 46.2G 0 lvm /home sr0 11:0 1 1024M 0 rom
8.fdisk
パーティションの設定、操作コマンドだか、「-l」オプションを用いる事でパーティションの情報を取得することが出来る。
以下に実行例を記載する。
$ fdisk -l ディスク /dev/sda: 107.4 GB, 107374182400 バイト ヘッド 255, セクタ 63, シリンダ 13054 Units = シリンダ数 of 16065 * 512 = 8225280 バイト セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O size (minimum/optimal): 512 bytes / 512 bytes ディスク識別子: 0x00055f4d デバイス ブート 始点 終点 ブロック Id システム /dev/sda1 * 1 64 512000 83 Linux パーティション 1 は、シリンダ境界で終わっていません。 /dev/sda2 64 13055 104344576 8e Linux LVM ディスク /dev/mapper/vg_testcentos-lv_root: 50.9 GB, 50939822080 バイト ヘッド 255, セクタ 63, シリンダ 6193 Units = シリンダ数 of 16065 * 512 = 8225280 バイト セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O size (minimum/optimal): 512 bytes / 512 bytes ディスク識別子: 0x00000000 ディスク /dev/mapper/vg_testcentos-lv_swap: 6308 MB, 6308233216 バイト ヘッド 255, セクタ 63, シリンダ 766 Units = シリンダ数 of 16065 * 512 = 8225280 バイト セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O size (minimum/optimal): 512 bytes / 512 bytes ディスク識別子: 0x00000000 ディスク /dev/mapper/vg_testcentos-lv_home: 49.6 GB, 49597644800 バイト ヘッド 255, セクタ 63, シリンダ 6029 Units = シリンダ数 of 16065 * 512 = 8225280 バイト セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O size (minimum/optimal): 512 bytes / 512 bytes ディスク識別子: 0x00000000
9.df
Linuxの管理者ならお馴染み、HDDのパーティションごとの容量を確認出来る。コマンド。
以下に実行例を記載する。
$ df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 12G 4.2G 7.0G 38% / none 4.0K 0 4.0K 0% /sys/fs/cgroup udev 2.0G 4.0K 2.0G 1% /dev tmpfs 396M 960K 395M 1% /run none 5.0M 0 5.0M 0% /run/lock none 2.0G 128K 2.0G 1% /run/shm none 100M 48K 100M 1% /run/user
なお、このコマンドを更に拡張した、dfcというコマンドもある。
10.free
こちらもLinuxの管理者ならお馴染み、メモリの総容量とその利用容量を確認するコマンド。
以下に実行例を記載する。
$ free -h total used free shared buffers cached Mem: 3.9G 2.0G 1.9G 7.2M 131M 1.1G -/+ buffers/cache: 732M 3.1G Swap: 4.0G 0B 4.0G
このコマンドを更に改良した、freecコマンドというものもある。
11.hdparm
ハードディスクのパラメータを取得するコマンド。
「-I」オプションや「-t」オプションで簡易的にベンチマークを取得することもできる。
12.hddtemp
ハードディスクのSMART情報から、現在のHDDの温度を取得するコマンド。
以下に実行例を記載する。
$ hddtemp /dev/sd[a-j] /dev/sda: WDC WD25EZRX-00MMMB0: 41°C /dev/sdb: WDC WD25EZRX-00MMMB0: 42°C /dev/sdc: WDC WD6400AAKS-00A7B0: 44°C /dev/sdd: WDC WD6400AAKS-00A7B0: 45°C /dev/sde: WDC WD25EZRX-00MMMB0: 40°C /dev/sdf: WDC WD25EZRX-00MMMB0: 43°C /dev/sdg: WDC WD25EZRX-00MMMB0: 41°C /dev/sdh: WDC WD25EZRX-00MMMB0: 42°C /dev/sdi: WDC WD25EZRX-00MMMB0: 41°C /dev/sdj: WDC WD25EZRX-00MMMB0: 42°C
13.Inxi
以前にも紹介したコマンドだが、ハードウェアの情報を一元的に取得出来るコマンド。
以下に、このコマンドの実行例を記載する。
$ inxi -F System: Host: mediaserver Kernel: 2.6.32-358.6.2.el6.x86_64 x86_64 (64 bit) Console: tty 0 Distro: CentOS release 6.4 (Final) Machine: No /sys/class/dmi, using dmidecode: you must be root to run dmidecode CPU: Quad core Intel Core2 Quad Q9550 (-MCP-) cache: 6144 KB Clock Speeds: 1: 2833 MHz 2: 2833 MHz 3: 2833 MHz 4: 2833 MHz Graphics: Card: NVIDIA G98 [GeForce 8400 GS] Display Server: N/A drivers: nouveau (unloaded: vesa,fbdev,nv) tty size: 81x29 Advanced Data: N/A out of X Audio: Card Intel 82801I (ICH9 Family) HD Audio Controller driver: snd_hda_intel Sound: Advanced Linux Sound Architecture v: 1.0.21 Network: Card: Realtek RTL8111/8168B PCI Express Gigabit Ethernet controller driver: r8169 IF: eth0 state: up speed: 1000 Mbps duplex: full mac: 00:1a:4d:5b:e4:94 Drives: HDD Total Size: 21284.2GB (48.7% used) ID-1: /dev/sda model: WDC_WD25EZRX size: 2500.5GB ID-2: /dev/sdd model: WDC_WD6400AAKS size: 640.1GB ID-3: /dev/sdc model: WDC_WD6400AAKS size: 640.1GB ID-4: /dev/sdb model: WDC_WD25EZRX size: 2500.5GB ID-5: /dev/sde model: WDC_WD25EZRX size: 2500.5GB ID-6: /dev/sdf model: WDC_WD25EZRX size: 2500.5GB ID-7: /dev/sdh model: WDC_WD25EZRX size: 2500.5GB ID-8: /dev/sdg model: WDC_WD25EZRX size: 2500.5GB ID-9: /dev/sdi model: WDC_WD25EZRX size: 2500.5GB ID-10: /dev/sdj model: WDC_WD25EZRX size: 2500.5GB Partition: ID-1: / size: 571G used: 56G (11%) fs: ext4 dev: /dev/sdd3 ID-2: /boot size: 517M used: 167M (34%) fs: ext4 dev: /dev/sdc1 ID-3: /home size: 12T used: 9.4T (89%) fs: ext4 dev: /dev/dm-0 ID-4: swap-1 size: 16.78GB used: 0.43GB (3%) fs: swap dev: /dev/sdd2 RAID: Device-1: /dev/md0 - active raid: 6 components: online: 7/7 - sde sdf1 sdh1 sdg sdi1 sda1 sdj1 spare: sdb1 Sensors: System Temperatures: cpu: No active sensors found. Have you configured your sensors yet? mobo: N/A gpu: 74.0 Info: Processes: 197 Uptime: 24 days Memory: 4804.9/7870.6MB Init: Upstart runlevel: 5 Client: Shell (bash) inxi: 2.1.28
14.dmidecode
こちらも同様に、ハードウェアの情報を一元的に取得出来るコマンド。
デフォルトで用意されている標準コマンドなので、環境によってはインストール出来ないinxiコマンドよりも扱いやすいだろう。
オプションを指定せずに出力すると表示数が、多くて読めないので、「-t」もしくは「-s」オプションで欲しい情報だけを取得させるといいだろう。
オプション指定時に指定出来る引数は以下の通りだ。
$ sudo dmidecode -s dmidecode: option requires an argument -- 's' String keyword expected Valid string keywords are: bios-vendor bios-version bios-release-date system-manufacturer system-product-name system-version system-serial-number system-uuid baseboard-manufacturer baseboard-product-name baseboard-version baseboard-serial-number baseboard-asset-tag chassis-manufacturer chassis-type chassis-version chassis-serial-number chassis-asset-tag processor-family processor-manufacturer processor-version processor-frequency
$ 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
以下に実行例を記載する。
$ sudo dmidecode -t bios # dmidecode 2.12 SMBIOS 2.4 present. Handle 0x0000, DMI type 0, 24 bytes BIOS Information Vendor: Phoenix Technologies LTD Version: 6.00 Release Date: 07/30/2013 Address: 0xEA050 Runtime Size: 90032 bytes ROM Size: 64 kB Characteristics: ISA is supported PCI is supported PC Card (PCMCIA) is supported PNP is supported APM is supported BIOS is upgradeable BIOS shadowing is allowed ESCD support is available Boot from CD is supported Selectable boot is supported EDD is supported Print screen service is supported (int 5h) 8042 keyboard services are supported (int 9h) Serial services are supported (int 14h) Printer services are supported (int 17h) CGA/mono video services are supported (int 10h) ACPI is supported Smart battery is supported BIOS boot specification is supported Function key-initiated network boot is supported Targeted content distribution is supported BIOS Revision: 4.6 Firmware Revision: 0.0
15./proc配下
厳密にはコマンドではないのだが、Linuxの場合はハードウェアに関する情報は「/proc」以下のフォルダに保持されている。
例えば、CPUの情報が欲しい場合は「/proc/cpuinfo」ファイルを参照すればいい。
$ cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 23 model name : Intel(R) Core(TM)2 Quad CPU Q9550 @ 2.83GHz stepping : 10 cpu MHz : 2833.596 cache size : 6144 KB physical id : 0 siblings : 4 core id : 0 cpu cores : 4 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 13 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 pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm dts tpr_shadow vnmi flexpriority bogomips : 5667.19 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management: processor : 1 vendor_id : GenuineIntel cpu family : 6 model : 23 model name : Intel(R) Core(TM)2 Quad CPU Q9550 @ 2.83GHz stepping : 10 cpu MHz : 2833.596 cache size : 6144 KB physical id : 0 siblings : 4 core id : 1 cpu cores : 4 apicid : 1 initial apicid : 1 fpu : yes fpu_exception : yes cpuid level : 13 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 pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm dts tpr_shadow vnmi flexpriority bogomips : 5667.19 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management: processor : 2 vendor_id : GenuineIntel cpu family : 6 model : 23 model name : Intel(R) Core(TM)2 Quad CPU Q9550 @ 2.83GHz stepping : 10 cpu MHz : 2833.596 cache size : 6144 KB physical id : 0 siblings : 4 core id : 3 cpu cores : 4 apicid : 3 initial apicid : 3 fpu : yes fpu_exception : yes cpuid level : 13 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 pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm dts tpr_shadow vnmi flexpriority bogomips : 5667.19 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management: processor : 3 vendor_id : GenuineIntel cpu family : 6 model : 23 model name : Intel(R) Core(TM)2 Quad CPU Q9550 @ 2.83GHz stepping : 10 cpu MHz : 2833.596 cache size : 6144 KB physical id : 0 siblings : 4 core id : 2 cpu cores : 4 apicid : 2 initial apicid : 2 fpu : yes fpu_exception : yes cpuid level : 13 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 pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm dts tpr_shadow vnmi flexpriority bogomips : 5667.19 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management:
その他にもLinuxのハードウェア情報を保持したファイルが含まれているので、用途に応じて確認してもらいたい。