はじめに
先輩方が残したLinuxサーバーのスペックがわからない、なんてことはありませんか?しかし、現時点で稼働しているため、止めて中を直接確認するのも大変でめんどい。そこで、CPU、メモリ、ストレージをsudoなしで、ターミナルにて確認していきます。
※OSはDebianです。古いOvert OSサーバーの表示ですが基本表示は変わりません。
※OS、ハードにより表示が異なります。
確認方法
CUIで実行する場合
CUIで紹介するコマンドを実行すると、情報が多すぎて画面外にはみ出すことがあります。その場合は、コマンドの後ろに次のコマンドを付け足してください。
コマンド | more
これで、エンターを押すと情報が一行ずつ表示されます。中止する場合は Ctrl+c したあとにエンターを押すと止まります。
CPU
ターミナルにて、
$ lscpu
を実行します。
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 2
Vendor ID: GenuineIntel
Model name: Intel(R) Xeon(R) E5503 @ 2.00GHz
CPU family: 6
model: 156
Thread(s) per core: 1
Core(s) per socket: 2
Socket(s): 1
Stepping: 5
CPU MHz: 2000.158
CPU max MHz: 1995.0000
CPU min MHz: 1596.0000
BogoMIPS: 4000.31
Virtualization: VT-x
L1d cache: 32 KiB
L1i cache: 32 KiB
L2 cache: 256 kiB
L3 cache: 4096 kiB
※一部省略。CPUやハードにより、表記が異なる場合もあります。
これは実際に実行して出た表示されたものです。このようにCPUの情報が全て表示されます。本当ならCPU(s)にコア数なども正常に表示されますが、サーバーだからか正しく表記できていません。特に確認しておくといいところだけ表記します。
- Architecture : CPUの設計の種類のようなもの。raspberry piの場合、ここにはARMと記載される。これによって、使えるアプリなどに制限がある場合もある。linuxの場合はこれが結構ネックで、手動でアプリケーションをインストールする場合、このアーキテクチャに合うアプリをダウンロードしなければならない。間違えた場合、互換性がないため全く動かない。
- CPU(s) : CPUのコア数、もしくはCPUの個数である。サーバーの場合、よっぽど古いものでなければSocketが1に対して、ここが2のときはCPUの個数を表記している。
- Socket: CPUをはめ込む、ソケットの数。
- Model name: CPUのモデル名。最悪これが分かれば、検索してスペックを把握できる。
- Thread(s) per core : 1コアあたりのスレッド数。例えば、4コア8スレッドのCPUならば2、4コア4スレッドのCPUなら1と表記される。
この表示ではIntel Xeon E5503が2つ搭載されていることになる。サーバーのため、2つのCPUが1つとして認識されているのであろう。ちなみに、CPUのスペックは2コア2スレッド、合計で4コア4スレッドのゴミでした。
ちなみに、個人的に持っているCPUが1つのlinuxマシンでは次のように表示されました。
アーキテクチャ: x86_64
CPU 操作モード: 32-bit, 64-bit
Address sizes: 39 bits physical, 48 bits virtual
バイト順序: Little Endian
CPU: 4
オンラインになっている CPU のリスト: 0-3
ベンダー ID: GenuineIntel
モデル名: Intel(R) Celeron(R) N5105 @ 2.00GHz
CPU ファミリー: 6
モデル: 156
コアあたりのスレッド数: 1
ソケットあたりのコア数: 4
ソケット数: 1
ステッピング: 0
CPU 最大 MHz: 2900.0000
CPU 最小 MHz: 800.0000
BogoMIPS: 3993.60
Virtualization features:
仮想化: VT-x
Caches (sum of all):
L1d: 128 KiB (4 instances)
L1i: 128 KiB (4 instances)
L2: 1.5 MiB (1 instance)
L3: 4 MiB (1 instance)
※Ubuntu Desktop-22.04の日本語表記
ここのマシンはCPUのコア数などもちゃんと表記されています。
メモリ
メモリの場合、知る方法は2パターンあります。
$ free
total used free shared buff/cache available
Mem: 26607760 3286356 22298848 25984 1022556 22916608
Swap: 29356028 0 29356028
freeを実行するとメモリの合計、使用量、空き容量が見れます。単位はkB(キロバイト)。この表示の場合は26GBのメモリが搭載されていると読み取ることができます。微妙な容量...。
$ lsmem
RANGE SIZE STATE REMOVABLE BLOCK
0x0000000000000000-0x0000000077ffffff 1.9G online yes 0-14
0x0000000100000000-0x0000000287ffffff 6.1G online yes 32-80
Memory block size: 128M
Total online memory: 8G
Total offline memory: 0B
lsmemを実行すると、空き容量、使用量は表示されないが合計容量は知ることができます。合計値は、Total online memoryとTotal offline memoryを足した値です。この表示の場合、8GBです。
ストレージ
ターミナルの場合、こちらも2つのパターンがあります。
$ lsblk
sda 8:0 0 119.2G 0 disk
├─sda1 8:1 0 100M 0 part /boot/efi
├─sda2 8:2 0 16M 0 part
├─sda3 8:3 0 58.6G 0 part
├─sda4 8:4 0 1000M 0 part
└─sda5 8:5 0 59.6G 0 part /
sdb 8:16 0 3.6T 0 disk
└─sdb1 8:17 0 3.6T 0 part /mnt/hdd1
sdc 8:32 0 465.8G 0 disk
└─sdc1 8:33 0 465.8G 0 part /mnt/hdd2
ツリー状にデバイスとパーティションが両方表示されました。見やすくて容量も確認しやすいですね。マウント先も表示されています。
※roopと表示されているものはアプリが使用している仮想ディスクみたいなもので、気にしなくてOK。
次のは、はっきり言って見づらいのでおすすめしません。lsblkが使えなかったときに使いましょう。
$ df
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 790048 4764 785284 1% /run
/dev/sda5 61175620 23865692 34169936 42% /
tmpfs 3950224 4 3950220 1% /dev/shm
tmpfs 5120 4 5116 1% /run/lock
/dev/sda1 98304 55150 43154 57% /boot/efi
tmpfs 790044 156 789888 1% /run/user/1000
/dev/sdc1 479596200 89814712 365345828 20% /mnt/hdd2
tmpfs 790044 84 789960 1% /run/user/128
/dev/sdb1 3844549616 1071270208 2577912192 30% /mnt/hdd1
dfではパーティションの容量が一部表示されました。1k-blocksが容量です。単位はkB(キロバイト)。パーティションの容量のため、HDDの容量を知りたいときは、該当するパーティションを足して計算しなければなりません。
※ハードウェアRAIDを組んでいる場合は、表示とHDDの個数が一致しないことがあります。
おまけ
その他のハードウェアを確認するコマンドや、sudoが使える場合の別の確認コマンドを紹介します。
- USB
$ lsusb -t
USBに接続されているデバイスをツリー状に表示してくれます。ハブの分岐もわかるので見やすいです。
- HDD
Ubuntuデスクトップの最強手段:ディスクをいうアプリを開いてください☆
$ sudo fdisk -l
日本語表記が可能で、デバイス名(型番)、ディスクのタイプ、パーティション情報、フォーマット形式なども細かく表示されます。sudoが使えるならば、これを実行したほうがいいです。
- PCI
$ lspci
オーディオやビデオアダプタ(グラボ)、ネットワークアダプタ・コントローラーを表示してくれます。
- 全ハードウェア
$ sudo lshw
最終手段です。全てのハードウェア情報をさらに細かくを表示してくれますが、はっきり言って見ずらいです。全てのIOポート、オーディオやビデオアダプタ、ネットワークアダプタなど、情報が多すぎます。もちろん、CPUやメモリの情報も表示されますが、調べたいものがはっきりしているのであれば、表示するものを指定しましょう。
しかし、こんなに多くのデバイスによってコンピュータは動いているんだと実感できるので、試して見るものありです。
まとめ
こんな感じで、ハードウェアを調べるコマンドはたくさん存在します。みなさんも、自分のパソコンのハードウェアを把握してみてください。これで、サーバーの再構築プランを組めそうです。まぁ、スペックが想像以上に低くて困ってますが・・・。