ハードウェア情報
あらゆるものと同様に、Linux システムのハードウェアに関する情報をチェックするコマンドはたくさんあります。
CPU やメモリなど特定のハードウェア コンポーネントのみをレポートするコマンドもあれば、複数のハードウェア ユニットを対象とするコマンドもあります。
この投稿では、さまざまなハードウェア周辺機器やデバイスに関する情報や設定の詳細を確認するために最もよく使用されるコマンドを簡単に見ていきます。
リストには、lscpu、hwinfo、lshw、dmidecode、lspci などが含まれます。
1. lscpu
lscpu コマンドは、cpu およびプロセッシング ユニットに関する情報を報告します。
$ lscpuArchitecture: x86_64CPU op-mode(s): 32-bit, 64-bitByte Order: Little EndianCPU(s): 4On-line CPU(s) list: 0-3Thread(s) per core: 1Core(s) per socket: 4Socket(s): 1NUMA node(s): 1Vendor ID: GenuineIntelCPU family: 6Model: 23Stepping: 10CPU MHz: 1998.000BogoMIPS: 5302.48Virtualization: VT-xL1d cache: 32KL1i cache: 32KL2 cache: 2048KNUMA node0 CPU(s): 0-3
2. lshw – List Hardware
汎用のユーティリティで、CPU、メモリ、ディスク、USB コントローラー、ネットワーク アダプターなどの複数の異なるハードウェア ユニットに関する詳細および簡単な情報を報告します。 Lshw は異なる /proc ファイルから情報を抽出します。
$ sudo lshw -shortH/W path Device Class Description=================================================== system ()/0 bus DG35EC/0/0 processor Intel(R) Core(TM)2 Quad CPU Q8400 @ 2.66GHz/0/0/1 memory 2MiB L2 cache/0/0/3 memory 32KiB L1 cache/0/2 memory 32KiB L1 cache/0/4 memory 64KiB BIOS/0/14 memory 8GiB System Memory/0/14/0 memory 2GiB DIMM DDR2 Synchronous 667 MHz (1.5 ns)/0/14/1 memory 2GiB DIMM DDR2 Synchronous 667 MHz (1.5 ns)/0/14/2 memory 2GiB DIMM DDR2 Synchronous 667 MHz (1.5 ns)/0/14/3 memory 2GiB DIMM DDR2 Synchronous 667 MHz (1.5 ns)/0/100 bridge 82G35 Express DRAM Controller/0/100/2 display 82G35 Express Integrated Graphics Controller/0/100/2.1 display 82G35 Express Integrated Graphics Controller/0/100/19 eth0 network 82566DC Gigabit Network Connection/0/100/1a bus 82801H (ICH8 Family) USB UHCI Controller #4/0/100/1a.1 bus 82801H (ICH8 Family) USB UHCI Controller #5/0/100/1a.7 bus 82801H (ICH8 Family) USB2 EHCI Controller #2/0/100/1b multimedia 82801H (ICH8 Family) HD Audio Controller/0/100/1c bridge 82801H (ICH8 Family) PCI Express Port 1/0/100/1c.1 bridge 82801H (ICH8 Family) PCI Express Port 2/0/100/1c.2 bridge 82801H (ICH8 Family) PCI Express Port 3/0/100/1c.2/0 storage JMB368 IDE controller/0/100/1d bus 82801H (ICH8 Family) USB UHCI Controller #1/0/100/1d.1 bus 82801H (ICH8 Family) USB UHCI Controller #2/0/100/1d.2 bus 82801H (ICH8 Family) USB UHCI Controller #3/0/100/1d.7 bus 82801H (ICH8 Family) USB2 EHCI Controller #1/0/100/1e bridge 82801 PCI Bridge/0/100/1e/5 bus FW322/323 1394a Controller/0/100/1f bridge 82801HB/HR (ICH8/R) LPC Interface Controller/0/100/1f.2 storage 82801H (ICH8 Family) 4 port SATA Controller /0/100/1f.3 bus 82801H (ICH8 Family) SMBus Controller/0/100/1f.5 storage 82801HR/HO/HH (ICH8R/DO/DH) 2 port SATA Controller (rev 02)00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 02)00:1f.5 IDE interface: Intel Corporation 82801HR/HO/HH (ICH8R/DO/DH) 2 port SATA Controller (rev 02)03:00.0 IDE interface: JMicron Technology Corp. JMB368 IDE controller04:05.0 FireWire (IEEE 1394): LSI Corporation FW322/323 1394a Controller (rev 70)
grep で特定のデバイス情報をフィルタリングします。
$ lspci -v | grep "VGA" -A 12
5. lsscsi – scsiデバイスの一覧表示
ハードドライブや光学ドライブなどのscsi/sataデバイスを一覧表示します。
$ lsscsi disk ATA ST3500418AS CC38 /dev/sda cd/dvd SONY DVD RW DRU-190A 1.63 /dev/sr0
6. lsusb – USBバスとデバイスの詳細を一覧表示
このコマンドは、USBコントローラとそれに接続されたデバイスの詳細を表示します。 デフォルトでは簡単な情報が表示されます。
$ lsusbBus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hubBus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hubBus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hubBus 005 Device 002: ID 045e:00cb Microsoft Corp. Basic Optical Mouse v2.0Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hubBus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hubBus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hubBus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
上記のシステムでは、1 つの usb ポートがマウスによって使用されています。
7. Inxi
Inxi は 10K 行のメガ bash スクリプトで、複数の異なるソースやシステム上のコマンドからハードウェアの詳細を取得し、技術者ではないユーザーが簡単に読める美しい外観のレポートを生成します。
$ inxi -Fx
8. lsblk – ブロックデバイスの一覧表示
ハードドライブのパーティションや、光学ドライブやフラッシュドライブなどのストレージデバイスである、すべてのブロックデバイスの情報を一覧表示します
$ lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 465.8G 0 disk├─sda1 8:1 0 70G 0 part├─sda2 8:2 0 1K 0 part├─sda5 8:5 0 97.7G 0 part /media/4668484A68483B47├─sda6 8:6 0 97.7G 0 part /├─sda7 8:7 0 1.9G 0 part └─sda8 8:8 0 198.5G 0 part /media/13f35f59-f023-4d98-b06f-9dfaebefd6c1sr0 11:0 1 1024M 0 rom
9. df – ファイルシステムのディスクスペース
さまざまなパーティションとそのマウントポイント、それぞれの使用済みと使用可能なスペースをレポートします
$ df -HFilesystem Size Used Avail Use% Mounted on/dev/sda6 104G 26G 73G 26% /none 4.1k 0 4.1k 0% /sys/fs/cgroupudev 4.2G 4.1k 4.2G 1% /devtmpfs 837M 1.6M 835M 1% /runnone 5.3M 0 5.3M 0% /run/locknone 4.2G 13M 4.2G 1% /run/shmnone 105M 21k 105M 1% /run/user/dev/sda8 210G 149G 51G 75% /media/13f35f59-f023-4d98-b06f-9dfaebefd6c1/dev/sda5 105G 31G 75G 30% /media/4668484A68483B47
10. Pydf – Python df
Python で書かれた df の改良版で、df よりも見栄えのする色付きの出力を表示します
$ pydfFilesystem Size Used Avail Use% Mounted on/dev/sda6 96G 23G 68G 24.4 //dev/sda8 195G 138G 47G 70.6 /media/13f35f59-f023-4d98-b06f-9dfaebefd6c1/dev/sda5 98G 28G 69G 29.2 /media/4668484A68483B47
11. fdisk
Fdiskはハードディスクのパーティションを変更するためのユーティリティで、パーティション情報をリストアップするのにも使用できます。
$ sudo fdisk -lDisk /dev/sda: 500.1 GB, 500107862016 bytes255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x30093008 Device Boot Start End Blocks Id System/dev/sda1 * 63 146801969 73400953+ 7 HPFS/NTFS/exFAT/dev/sda2 146802031 976771071 414984520+ f W95 Ext'd (LBA)/dev/sda5 146802033 351614654 102406311 7 HPFS/NTFS/exFAT/dev/sda6 351614718 556427339 102406311 83 Linux/dev/sda7 556429312 560427007 1998848 82 Linux swap / Solaris/dev/sda8 560429056 976771071 208171008 83 Linux
12. mount
mountはマウントされたファイルシステムをマウント/アンマウントしたり、表示するのに使用します。
$ mount | column -t/dev/sda6 on / type ext4 (rw,errors=remount-ro)proc on /proc type proc (rw,noexec,nosuid,nodev)sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)none on /sys/fs/cgroup type tmpfs (rw)none on /sys/fs/fuse/connections type fusectl (rw)none on /sys/kernel/debug type debugfs (rw)none on /sys/kernel/security type securityfs (rw)udev on /dev type devtmpfs (rw,mode=0755)devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)none on /run/shm type tmpfs (rw,nosuid,nodev)none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755)none on /sys/fs/pstore type pstore (rw)/dev/sda8 on /media/13f35f59-f023-4d98-b06f-9dfaebefd6c1 type ext4 (rw,nosuid,nodev,errors=remount-ro)/dev/sda5 on /media/4668484A68483B47 type fuseblk (rw,nosuid,nodev,allow_other,blksize=4096)binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)systemd on /sys/fs/cgroup/systemd type cgroup (rw,noexec,nosuid,nodev,none,name=systemd)gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=enlightened)
また、grepを使用して、見たいファイルシステムだけをフィルタリングします
$ mount | column -t | grep ext
13. free – RAMの確認
システム上のRAMの使用量、空き容量、総量をfreeコマンドで確認します。
$ free -m total used free shared buffers cachedMem: 7975 5865 2110 0 24 622-/+ buffers/cache: 5218 2757Swap: 1951 921 1030
14. dmidecode
dmidecodeコマンドは他のコマンドとは異なります。
# display information about the processor/cpu$ sudo dmidecode -t processor# memory/ram information$ sudo dmidecode -t memory# bios details$ sudo dmidecode -t bios
詳細はmanページをご覧ください。
15. /proc ファイル
/proc ディレクトリにある仮想ファイルの多くは、ハードウェアや設定に関する情報を含んでいます。 以下はその一部です
CPU/メモリの情報
# cpu information$ cat /proc/cpuinfo# memory information$ cat /proc/meminfo
Linux/カーネルの情報
$ cat /proc/versionLinux version 3.11.0-12-generic () (gcc version 4.8.1 (Ubuntu/Linaro 4.8.1-10ubuntu7) ) #19-Ubuntu SMP Wed Oct 9 16:20:46 UTC 2013
SCSI/Sataデバイス
$ cat /proc/scsi/scsiAttached devices:Host: scsi3 Channel: 00 Id: 00 Lun: 00 Vendor: ATA Model: ST3500418AS Rev: CC38 Type: Direct-Access ANSI SCSI revision: 05Host: scsi4 Channel: 00 Id: 00 Lun: 00 Vendor: SONY Model: DVD RW DRU-190A Rev: 1.63 Type: CD-ROM ANSI SCSI revision: 05
パーティション
$ cat /proc/partitionsmajor minor #blocks name 8 0 488386584 sda 8 1 73400953 sda1 8 2 1 sda2 8 5 102406311 sda5 8 6 102406311 sda6 8 7 1998848 sda7 8 8 208171008 sda8 11 0 1048575 sr0
16. hdparm
hdparmコマンドはハードディスクなどのSataデバイスの情報を取得します。
$ sudo hdparm -i /dev/sda/dev/sda: Model=ST3500418AS, FwRev=CC38, SerialNo=9VMJXV1N Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% } RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4 BuffType=unknown, BuffSize=16384kB, MaxMultSect=16, MultSect=16 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=976773168 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120} PIO modes: pio0 pio1 pio2 pio3 pio4 DMA modes: mdma0 mdma1 mdma2 UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6 AdvancedPM=no WriteCache=enabled Drive conforms to: unknown: ATA/ATAPI-4,5,6,7 * signifies the current active mode
概要
それぞれのコマンドは、情報を抽出する方法が少しずつ異なるため、特定のハードウェアの詳細を調べる際には、複数のコマンドを試す必要があるかもしれません。
デスクトップでは、コマンドを覚えたり入力したりしたくない人のために、GUIツールがあります。
デスクトップには、コマンドを覚えたり入力したりしたくない人のためのGUIツールがあります。HardinfoやI-nexなどが有名で、複数の異なるハードウェアコンポーネントに関する詳細な情報を提供しています。