概要
PCのスペックを確認するためのシェルスクリプトをいくつか紹介します。これらのスクリプトを使うと、CPUやメモリ、ディスク、GPU、OSの情報などを簡単に確認できます。
1. 🖥 CPU情報の確認
CPUのモデルやコア数、クロック速度などの情報を表示するスクリプトです。
#!/bin/bash
lscpu
2. 💾 メモリ情報の確認
物理メモリやスワップメモリの使用状況を表示するスクリプトです。
#!/bin/bash
free -h
total used free shared buff/cache available
Mem: 46Gi 7.3Gi 1.4Gi 1.0Mi 38Gi 38Gi
Swap: 2.0Gi 207Mi 1.8Gi
3. 📀 ディスク情報の確認
ディスクの使用状況やマウントされているディスクの情報を表示するスクリプトです。
#!/bin/bash
echo "Disk Information:"
df -h
kawai@lm:~$ df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 4.7G 2.3M 4.7G 1% /run
/dev/sda2 234G 210G 12G 95% /
tmpfs 24G 0 24G 0% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
efivarfs 246K 126K 116K 52% /sys/firmware/efi/efivars
/dev/sda1 508M 64M 445M 13% /boot/efi
/dev/nvme0n1 3.6T 3.0T 497G 86% /mnt
tmpfs 4.7G 84K 4.7G 1% /run/user/127
tmpfs 4.7G 72K 4.7G 1% /run/user/1001
4. 🖥 GPU情報の確認
NVIDIAのGPUを利用している場合、nvidia-smi
コマンドを使用してGPUの情報を表示します。
Driverが入っていない場合は、
lspci | grep -i nvidia
lspci | grep -i nvidia
21:00.0 VGA compatible controller: NVIDIA Corporation TU104GL [Quadro RTX 4000] (rev a1)
21:00.1 Audio device: NVIDIA Corporation TU104 HD Audio Controller (rev a1)
21:00.2 USB controller: NVIDIA Corporation TU104 USB 3.1 Host Controller (rev a1)
21:00.3 Serial bus controller: NVIDIA Corporation TU104 USB Type-C UCSI Controller (rev a1)
Driverが入っている場合は、
#!/bin/bash
nvidia-smi
5. 🗃 OS情報の確認
Linuxディストリビューションやカーネルバージョンの情報を表示するスクリプトです。
#!/bin/bash
cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.4 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.4 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
6. 🔧 システム全体の情報を表示
inxi
コマンドを使ってシステム全体の情報を取得することも可能です。inxi
がインストールされていない場合はインストールが必要です。
#!/bin/bash
# inxiをインストール(Debian/Ubuntuベースの場合)
# sudo apt install inxi
echo "System Information:"
inxi -Fxz
System:
Kernel: 6.5.0-45-generic x86_64 bits: 64 compiler: N/A Console: pty pts/1
Distro: Ubuntu 22.04.4 LTS (Jammy Jellyfish)
Machine:
Type: Desktop System: HP product: HP Z4 G4 Workstation v: N/A serial: <superuser required>
Mobo: HP model: 81C5 v: MVB serial: <superuser required> UEFI: HP v: P61 v02.67
date: 02/08/2021
CPU:
Info: quad core model: Intel Xeon W-2123 bits: 64 type: MT MCP arch: Skylake rev: 4 cache:
L1: 256 KiB L2: 4 MiB L3: 8.2 MiB
Speed (MHz): avg: 1531 high: 3847 min/max: 1200/3900 cores: 1: 1200 2: 1201 3: 1200 4: 3847
5: 1200 6: 1200 7: 1200 8: 1200 bogomips: 57600
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3
Graphics:
Device-1: NVIDIA TU104GL [Quadro RTX 4000] vendor: Hewlett-Packard driver: nvidia v: 545.23.08
bus-ID: 21:00.0
Display: server: X.org v: 1.21.1.4 with: Xwayland v: 22.1.1 driver: X: loaded: nvidia
gpu: nvidia tty: 152x70
Message: GL data unavailable in console. Try -G --display
Audio:
Device-1: NVIDIA TU104 HD Audio vendor: Hewlett-Packard driver: snd_hda_intel v: kernel
bus-ID: 21:00.1
Sound Server-1: ALSA v: k6.5.0-45-generic running: yes
Sound Server-2: PulseAudio v: 15.99.1 running: yes
Sound Server-3: PipeWire v: 0.3.48 running: yes
Network:
Device-1: Intel Ethernet I219-LM vendor: Hewlett-Packard driver: e1000e v: kernel port: N/A
bus-ID: 00:1f.6
IF: eno1 state: up speed: 1000 Mbps duplex: full mac: <filter>
IF-ID-1: br-0244ac0b5479 state: up speed: 10000 Mbps duplex: unknown mac: <filter>
IF-ID-2: br-1e4568c3a481 state: up speed: 10000 Mbps duplex: unknown mac: <filter>
IF-ID-3: docker0 state: down mac: <filter>
IF-ID-4: veth2ca6592 state: up speed: 10000 Mbps duplex: full mac: <filter>
IF-ID-5: vethbf12ab1 state: up speed: 10000 Mbps duplex: full mac: <filter>
RAID:
Hardware-1: Intel C600/X79 series SATA RAID Controller driver: ahci v: 3.0 bus-ID: 00:17.0
Drives:
Local Storage: total: 5.69 TiB used: 4.56 TiB (80.1%)
ID-1: /dev/nvme0n1 vendor: Crucial model: CT4000P3SSD8 size: 3.64 TiB temp: 32.9 C
ID-2: /dev/nvme1n1 vendor: Samsung model: SSD 980 PRO 2TB size: 1.82 TiB temp: 32.9 C
ID-3: /dev/sda vendor: Micron model: MTFDDAK256TDL-1AW1ZABHA size: 238.47 GiB
Partition:
ID-1: / size: 233.18 GiB used: 208.35 GiB (89.4%) fs: ext4 dev: /dev/sda2
ID-2: /boot/efi size: 508 MiB used: 63.5 MiB (12.5%) fs: vfat dev: /dev/sda1
Swap:
ID-1: swap-1 type: file size: 2 GiB used: 206.3 MiB (10.1%) file: /swapfile
Sensors:
System Temperatures: cpu: 34.0 C mobo: N/A gpu: nvidia temp: 34 C
Fan Speeds (RPM): N/A
Info:
Processes: 923 Uptime: 26d 50m Memory: 46.77 GiB used: 8.09 GiB (17.3%) Init: systemd
Compilers: gcc: 11.4.0 Packages: 1948 Shell: Bash v: 5.1.16 inxi: 3.3.13
7. 🔍 ネットワーク情報の確認
ネットワークインターフェースの情報を確認するスクリプトです。
#!/bin/bash
ip addr
8. 📊 CPU負荷やメモリ使用状況のリアルタイム表示
top
コマンドを使ってリアルタイムでシステムの状態を確認できますが、スクリプトで1回だけの結果を取得する場合は以下のようにします。
#!/bin/bash
uptime
12:22:27 up 26 days, 51 min, 2 users, load average: 0.31, 0.26, 0.21
top
top - 12:22:56 up 26 days, 51 min, 2 users, load average: 0.24, 0.25, 0.21
Tasks: 932 total, 1 running, 930 sleeping, 0 stopped, 1 zombie
%Cpu(s): 0.7 us, 1.4 sy, 0.0 ni, 97.9 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 47891.0 total, 1048.8 free, 7715.4 used, 39126.8 buff/cache
MiB Swap: 2048.0 total, 1841.7 free, 206.3 used. 39527.2 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2094174 root 20 0 43.7g 774972 54912 S 6.2 1.6 5:40.68 node
2224545 root 20 0 1024124 43568 35840 S 1.3 0.1 0:00.12 node
2224699 kawai 20 0 15080 4992 3328 R 1.0 0.0 0:00.09 top
381 root 20 0 295172 4572 3840 S 0.7 0.0 255:15.85 plymouthd
2098919 kawai 20 0 1921216 26420 18432 S 0.3 0.1 0:00.28 docker
2101725 kawai 20 0 1994948 26860 18816 S 0.3 0.1 0:00.27 docker
2143951 root 20 0 0 0 0 I 0.3 0.0 0:00.22 kworker/6:1-events
2171557 kawai 20 0 2069192 26596 18176 S 0.3 0.1 0:00.14 docker
2174235 kawai 20 0 2068936 26216 18176 S 0.3 0.1 0:00.14 docker
2176888 kawai 20 0 2143180 25964 18048 S 0.3 0.1 0:00.12 docker
2223876 root 20 0 2628 1536 1536 S 0.3 0.0 0:00.08 sh
2224239 root 20 0 2628 1536 1536 S 0.3 0.0 0:00.06 sh
1 root 20 0 168236 11100 6364 S 0.0 0.0 8:07.57 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.33 kthreadd
3 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_gp
4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_par_gp
5 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 slub_flushwq
これらのスクリプトを使って、PCのスペックやシステム状況を簡単に確認することができます。初めてアクセスするワークステーションの場合、上記を実行すれば大体確認できると思われます。