Linuxサーバーのシステム情報をまとめて把握する方法|hostnamectl・lscpu・uname -aを一画面で確認

宮崎智広 この記事の監修:宮崎智広(Linux実務・教育歴20年以上・受講者3,100名超)
HOMELinux技術 リナックスマスター.JP(Linuxマスター.JP)Linuxtips > Linuxサーバーのシステム情報をまとめて把握する方法|hostnamectl・lscpu・uname -aを一画面で確認
「サーバーのCPU数は何コアだっけ?」「OSバージョンを確認するコマンドどれだったかな?」
インフラ作業の現場でこんな場面は日常茶飯事です。Linuxにはシステム情報を確認するコマンドがいくつもあり、コマンドによって得られる情報の粒度や形式が異なります。

この記事では、Linuxサーバーのシステム情報を素早く把握するための主要コマンド(hostnamectllscpuuname -afreedmidecodeなど)をまとめて解説します。RHEL 9.4 / Rocky Linux 9.4 / Ubuntu 24.04 LTSで動作確認済みです。

この記事のポイント

・hostnamectl でOS種別・カーネル・ホスト名を一度に確認できる
・lscpu でCPUコア数・スレッド数・アーキテクチャを素早く把握できる
・uname -a でカーネルバージョンを確認し、patch適用前後の状態管理に使える
・free -h・dmidecode でメモリ実装状況を物理スロット単位まで把握できる


「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
図解60P/登録10秒/解除も3秒 / 詳細はこちら

なぜシステム情報の確認コマンドを整理しておくべきか

Linuxサーバーを管理していると、次のような場面でシステム情報が必要になります。

・インシデント対応時に「対象サーバーのスペックと現在のOS版数」を確認する
・パッケージ更新の前後でカーネルバージョンを記録する
・スケールアウト時に既存サーバーと同じ構成を揃える
・ハードウェア障害の調査でメモリのスロット情報やDIMM型番が必要になる

情報の種類によって適切なコマンドが異なるため、「どのコマンドを叩けば何が分かるか」を体系的に把握しておくことが効率化の鍵です。

hostnamectl — OS・カーネル・ホスト名を一画面で確認

1. 基本の実行方法

hostnamectlはsystemd管理下のシステムで使えるコマンドで、ホスト名だけでなくOSの詳細情報とカーネルバージョンまで一度に表示します。

# システム情報をまとめて表示 $ hostnamectl Static hostname: websvr01.example.com Icon name: computer-server Chassis: server Machine ID: a3b4c5d6e7f8a1b2c3d4e5f6a7b8c9d0 Boot ID: 11223344-5566-7788-99aa-bbccddeeff00 Operating System: Rocky Linux 9.4 (Blue Onyx) CPE OS Name: cpe:/o:rocky:rocky:9::baseos Kernel: Linux 5.14.0-427.22.1.el9_4.x86_64 Architecture: x86-64 Hardware Vendor: Dell Inc. Hardware Model: PowerEdge R640

Static hostname: サーバーの静的ホスト名(恒久設定値)
Operating System: OS名とバージョン(/etc/os-releaseの内容)
Kernel: 現在起動中のカーネルバージョン
Hardware Vendor / Model: DMIから取得したハードウェア情報(物理サーバー・仮想マシンで表示が異なる)

2. ホスト名だけ確認したい場合

# ホスト名のみ表示 $ hostname websvr01.example.com # shortname(ドメイン部分なし) $ hostname -s websvr01 # FQDN $ hostname -f websvr01.example.com

3. Ubuntu / Debian 系での注意点

Ubuntu 24.04 LTSでもhostnamectlは動作しますが、Hardware VendorHardware Modelの表示にはパッケージdmidecodeが必要です。クラウド(EC2・GCE)では仮想ハードウェア情報が表示されます。

uname — カーネルバージョンとアーキテクチャを確認

1. uname -a で全情報を一括表示

# 全項目を一行で出力(パッチ適用前後の確認に最適) $ uname -a Linux websvr01 5.14.0-427.22.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Jul 18 10:11:15 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

出力項目の意味(左から順に):
Linux — カーネル名
websvr01 — ホスト名
5.14.0-427.22.1.el9_4.x86_64 — カーネルリリース(バージョン番号)
#1 SMP PREEMPT_DYNAMIC Thu Jul 18 10:11:15 UTC 2024 — カーネルビルド日時
x86_64 x86_64 x86_64 — マシンタイプ・プロセッサタイプ・ハードウェアプラットフォーム
GNU/Linux — OS名

2. 目的別のオプション

# カーネルバージョンのみ(スクリプトで使いやすい形式) $ uname -r 5.14.0-427.22.1.el9_4.x86_64 # アーキテクチャのみ(ARM/x86判定に使う) $ uname -m x86_64 # ホスト名のみ $ uname -n websvr01

3. カーネル更新後の確認パターン

dnf update kernelapt upgrade linux-imageの後、再起動前後でカーネルバージョンを記録するのが現場での定番手順です。

# 更新前のバージョンを記録 $ uname -r > /tmp/kernel_before.txt # パッケージ更新と再起動 $ sudo dnf update -y kernel && sudo reboot # 再起動後に確認 $ uname -r 5.14.0-503.11.1.el9_5.x86_64

lscpu — CPUのコア数・スレッド数・アーキテクチャを確認

1. lscpu の基本実行

$ lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Address sizes: 46 bits physical, 57 bits virtual Byte Order: Little Endian CPU(s): 32 On-line CPU(s) list: 0-31 Vendor ID: GenuineIntel Model name: Intel(R) Xeon(R) Silver 4216 CPU @ 2.10GHz CPU family: 6 Model: 85 Thread(s) per core: 2 Core(s) per socket: 16 Socket(s): 1 Stepping: 7 CPU(s) scaling MHz: 50% CPU max MHz: 3200.0000 CPU min MHz: 800.0000 BogoMIPS: 4200.00

2. スケールアウト時に確認すべき項目

サーバーのスペックを揃える際に特に重要な項目:

CPU(s): 論理CPU数(コア数×スレッド数×ソケット数の合計)
Thread(s) per core: 2なら Hyper-Threading 有効
Core(s) per socket: 物理コア数
Socket(s): 物理ソケット(CPU)の搭載数

3. スクリプトから論理CPU数を取得する方法

# lscpu の出力から CPU数のみ抽出 $ lscpu | grep '^CPU(s):' | awk '{print $2}' 32 # /proc/cpuinfo からも取得できる(lscpu がない環境向け) $ nproc 32

free — メモリの使用状況と空き容量を確認

1. free -h で人間が読みやすい形式で表示

$ free -h total used free shared buff/cache available Mem: 62Gi 12Gi 38Gi 542Mi 11Gi 49Gi Swap: 8.0Gi 0B 8.0Gi

total: 搭載メモリ総量
used: 使用中のメモリ量(buff/cache を含まない)
free: 何にも使われていないメモリ
buff/cache: カーネルが管理するバッファ・キャッシュ(空きとして解放可能)
available: 実際にプロセスが使える見込みの空きメモリ。監視で見るべき値はここ

2. スワップ利用を確認するワンライナー

# 1秒ごとにメモリ状況を更新表示(Ctrl+C で停止) $ free -h -s 1 # スワップ使用量だけ確認したい場合 $ free | awk '/Swap:/ {printf "Swap used: %s MB\n", $3/1024}' Swap used: 0 MB

dmidecode — 物理メモリのスロット情報を確認

dmidecode でハードウェア情報を取得するには root 権限が必要です。物理サーバーで実際のメモリスロット数・DIMM型番・最大増設可能容量を調べる際に使います。

# メモリスロット情報を確認(root権限が必要) $ sudo dmidecode -t memory | grep -E 'Size:|Type:|Speed:|Locator:' Locator: DIMM_A1 Size: 32 GB Type: DDR4 Speed: 2933 MT/s Locator: DIMM_A2 Size: 32 GB Type: DDR4 Speed: 2933 MT/s Locator: DIMM_B1 Size: No Module Installed Type: Unknown Speed: Unknown # 搭載メモリ合計を確認 $ sudo dmidecode -t memory | grep 'Size:' | grep -v 'No Module' Size: 32 GB Size: 32 GB

システム情報を一括取得するスクリプト例

引き継ぎドキュメントや設定記録を作成する際に、上記のコマンドをまとめて実行するスクリプトが便利です。

#!/bin/bash # sysinfo.sh — サーバー情報を一括出力 echo "===== ホスト・OS情報 =====" hostnamectl echo "" echo "===== カーネルバージョン =====" uname -r echo "" echo "===== CPU情報 =====" lscpu | grep -E 'Architecture|CPU\(s\)|Thread|Core\(s\)|Socket|Model name' echo "" echo "===== メモリ使用状況 =====" free -h echo "" echo "===== ディスク使用状況 =====" df -h --total | grep -E '^/|^Filesystem|total'

# 実行例 $ bash sysinfo.sh ===== ホスト・OS情報 ===== Static hostname: websvr01.example.com Operating System: Rocky Linux 9.4 (Blue Onyx) Kernel: Linux 5.14.0-427.22.1.el9_4.x86_64 Architecture: x86-64 ===== カーネルバージョン ===== 5.14.0-427.22.1.el9_4.x86_64 ===== CPU情報 ===== Architecture: x86_64 CPU(s): 32 Thread(s) per core: 2 Core(s) per socket: 16 Socket(s): 1 Model name: Intel(R) Xeon(R) Silver 4216 CPU @ 2.10GHz ===== メモリ使用状況 ===== total used free shared buff/cache available Mem: 62Gi 12Gi 38Gi 542Mi 11Gi 49Gi Swap: 8.0Gi 0B 8.0Gi ===== ディスク使用状況 ===== Filesystem Size Used Avail Use% Mounted on /dev/sda1 50G 12G 36G 25% / /dev/sda2 200G 45G 145G 23% /var /dev/sda3 20G 1G 18G 5% /tmp total 270G 58G 199G 23% -

このスクリプトを/usr/local/bin/sysinfoに配置してchmod +xしておくと、どのサーバーでも呼び出せます。なお、systemd-analyze で起動時間計測を組み合わせることで、起動プロセスのボトルネックも同時に把握できます。

トラブルシュート — よくあるエラーと対処法

1. hostnamectl: Failed to connect to bus

systemd が起動していない環境(Dockerコンテナ内など)で発生します。

$ hostnamectl Failed to connect to bus: No such file or directory # 代替手段: /etc/os-release を直接参照する $ cat /etc/os-release NAME="Rocky Linux" VERSION="9.4 (Blue Onyx)" ID=rocky ID_LIKE="rhel centos fedora" VERSION_ID="9.4"

2. lscpu: コマンドが見つからない

lscpu は util-linux パッケージに含まれています。最小インストール環境では未導入の場合があります。

# RHEL/Rocky/CentOS $ sudo dnf install -y util-linux # Ubuntu/Debian $ sudo apt install -y util-linux # lscpu が使えない環境では /proc/cpuinfo を参照 $ grep 'model name' /proc/cpuinfo | uniq model name : Intel(R) Xeon(R) Silver 4216 CPU @ 2.10GHz $ grep -c '^processor' /proc/cpuinfo 32

3. dmidecode: Permission denied

$ dmidecode -t memory # dmidecode 3.4 Permission denied: /dev/mem # sudo を付けて実行する $ sudo dmidecode -t memory

4. クラウド(EC2・GCE)で dmidecode の出力が参考にならない

仮想マシン上では dmidecode が正確な物理ハードウェア情報を返しません。AWSであればcurl http://169.254.169.254/latest/meta-data/instance-typeでインスタンスタイプを確認するのが正確です。

本記事のまとめ

Linuxサーバーのシステム情報を確認するコマンドと用途を整理します。
確認したい情報 コマンド 備考
ホスト名・OS名・カーネルを一度に hostnamectl systemd必須。Dockerコンテナ内では使えない
カーネルバージョン(スクリプト向け) uname -r 全情報は uname -a
CPUコア数・スレッド数・型番 lscpu util-linuxパッケージ。代替は /proc/cpuinfo
論理CPU数だけ nproc スクリプトで使いやすい
メモリ使用状況(プロセス向き空き) free -h available列を監視すること
物理メモリスロット・DIMM型番 sudo dmidecode -t memory root権限必須。仮想環境では不正確
OS情報(systemdなし環境) cat /etc/os-release コンテナ・最小環境向け
これらのコマンドを組み合わせれば、サーバーの基本スペックと稼働状態を数十秒で把握できます。Linux 基本コマンドの解説も合わせて参照すると、日常的な運用作業の効率がさらに高まります。

Linuxサーバーの管理に慣れたら、次は複数サーバーの情報を一括収集するAnisble Playbookの導入も検討してみてください。

サーバーのシステム情報を素早く把握する習慣は、サーバー設計の「型」から生まれます

インシデント対応やスケールアウト時に「このサーバーのスペックを即答できる」かどうかは、日常的な確認習慣と設計の理解があるかで差がつきます。
現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。

「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。

無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。

登録無料・いつでも解除できます

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

登録10秒/合わなければ解除3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録
宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として20年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。