Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
8
Help us understand the problem. What is going on with this article?
@ryuichi1208

CLIでマシン情報を取得する方法

More than 1 year has passed since last update.

ダウンロード.jpg

CLIのみの環境でスペックを調べる方法です。
中古PCを買ったときや仕事で新しいマシンが来たときとかとりあえず打ってみるコマンドたち。
HWシリアル番号、BIOSのバージョン情報、搭載されているメモリモジュールのメモリサイズなど
見るだけで楽しい情報を取得していきます。
特に役立つ情報があるわけではないのでお暇な方どうぞ。

基本

# カーネルバージョン
$ uname -r
# -m    CPUのタイプを表示する
# -n    PCのホスト名を表示する
# -r    カーネルのバージョンを表示する
# -s    OS名を表示する
# -v    OSのリリース日を表示する
# -a    すべての情報を表示する

# ディストリビューション
# Redhat/CentOS
$ cat /etc/redhat-release
$ cat /etc/issue
# Fedora Core
$ cat /etc/fedora-release
# Debian
$ cat /etc/debian_version
$ cat /etc/issue
# Turbolinux
$ cat /etc/turbolinux-release
# SuSE Linux
$ cat /etc/SuSE-release
# Mandriva Linux
$ cat /etc/mandriva-release
# Vine Linux
$ cat /etc/vine-release

# 自身のマシン名
$ hostname
# -d    DNSドメインの名前を表示
# -f    FQDN(Fully Qualified Domain Name)を表示

# BIOS確認
$ sudo dmidecode

# マザーボード
$ sudo dmidecode -t baseboard

# カーネルの出力したメッセージ確認
$ dmesg -l alert
# -x    表示レベル(level)と表示対象(facility)を表示
# -L    色付きで表示

CPU

# CPU情報
$ cat /proc/cpuinfo
$ lscpu

# プロセス毎のCPU使用率などをリアルタイムで(sarでも見たり)
$ top
# -d    更新の間隔を指定
# -n    表示回数を指定

# システムの負荷平均、稼働時間も見れる
$ w
$ uptime
# -s  起動した日時が表示される
# -p  表示フォーマットを変更する(個人的に好き)

メモリ

# メモリ情報
$ cat /proc/meminfo

# メモリの空き情報
$ free
# -b     バイト単位で表示
# -k     KB単位で表示
# -m     MB単位で表示
# -g     GB単位で表示
# --tera TB単位で表示

# 仮想メモリやディスクI/Oの統計情報
$ vmstat -s

vmstatコマンドはオプションが多数あります。下記をご参照ください
https://tech.nikkeibp.co.jp/it/article/COLUMN/20060228/230989/

ディスク

# 全ディスクの使用量と空き容量
$ df -hT

# 特定ディレクトリ配下の使用量
$ du -skh  | sort -nr

# ブロックデバイスのパーティション情報を表示
$ parted -l

# 接続されているHDDやUSBドライブを調べる
$ lsblk

# パーティションの情報確認
$ sudo fdisk -l /dev/sda

# 物理的な情報を詳しく(あまり使わない)
$ sudo hdparm -i /dev/sda

# マウントしてないデバイスの容量
$ sudo smartctl -a /dev/sda | grep “User Capacity”

ネットワーク

# ネットワークのデバイス情報
$ ip a sh dev ens27f0

# LISTENしているポート一覧
$ sudo ss -antul

ビデオカード

$ lspci | grep VGA

ここからは若干それますがよく使うコマンド

カーネルパラメータ

カーネルパラメータは以下2つで設定を行う

①/etc/sysctl.conf
②/proc配下

①はシステム起動時に反映されるため、恒久的に適用したい場合にはこちらへ記載する
②は再起動すると設定が元に戻る。一時的に設定を弄りたい時用。

sysctlコマンドは、サーバー稼働中にカーネルパラメータを設定・変更するコマンド
sysctl [オプション]
のような書式で実行します。色々と資料を見ましたがusageが一番見やすかった。。。

$ sysctl

Usage:
 sysctl [options] [variable[=value] ...]

Options:
  -a, --all            display all variables
  -A                   alias of -a
  -X                   alias of -a
      --deprecated     include deprecated parameters to listing
  -b, --binary         print value without new line
  -e, --ignore         ignore unknown variables errors
  -N, --names          print variable names without values
  -n, --values         print only values of a variables
  -p, --load[=<file>]  read values from file
  -f                   alias of -p
      --system         read values from all system directories
  -r, --pattern <expression>
                       select setting that match expression
  -q, --quiet          do not echo variable set
  -w, --write          enable writing a value to variable
  -o                   does nothing
  -x                   does nothing
  -d                   alias of -h

 -h, --help     display this help and exit
 -V, --version  output version information and exit

For more details see sysctl(8).

システムモニタリング sarコマンド

sarとは、sysstatパッケージに含まれている、システムの統計情報を取得するコマンド

オプション 確認項目
-u CPU
-u -P ALL CPUを各コアごとに
-q ロードアベレージ
-r メモリ
-W スワップ
-n DEV ネットワーク
-b ディスクIO

簡単な使い方は下記

# 日時を指定してメモリ状況を見る
$ sar -r -f /var/log/sa/sa02 -s 12:00:00 -e 13:00:00
# kbmemfree メモリ空き容量(kb)
# kbmemused メモリ使用量(kb)
# %memused  メモリ使用率
# kbswpfree スワップ空き容量(kb)
# kbswpused スワップ使用量(kb)
# %swpused  スワップ使用率

# ディスクI/O確認
$ sar -b -s 21:00:00
# tps   秒間I/Oリクエスト 数の合計
# rtps  秒間読み込みIOリクエスト数の合計
# wtps  秒間書き込みIOリクエスト数の合計
# bread/s   秒間読み込み(ブロック単位)IOリクエストのデータ量の合計
# bwrtn/s   秒間書き込み(ブロック単位)IOリクエストのデータ量の合計

# CPU使用率
$ sar -u -s 21:00:00
# %user アプリケーション(ユーザプロセス)が使用している状態
# %system   カーネル(OSなど)が使用している状態
# %iowait   ディスクI/O待ち状態
# %idle CPUが何の処理もしない待機状態(I/O待ちの時間は除く)

その他

AWSインスタンスのスペック比較記事が面白かったのでご紹介

現行世代全18種類EC2インスタンスのHW情報をコマンドで比較してみた
https://dev.classmethod.jp/cloud/aws/ec2-instance-detail/

参考

Linuxでコマンドラインからマシンスペックを確認する方法
https://qiita.com/DaisukeMiyamoto/items/98ef077ddf44b5727c29

sar(sysstat)によるボトルネック特定
https://qiita.com/kidach1/items/07637a5baa0da7d52e6a

8
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ryuichi1208
社会人5年目の電話も来客対応もできない系エンジニア。
yyphp
PHPerが毎週集まり、ざっくばらんに情報交換する雑談コミュニティ

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
8
Help us understand the problem. What is going on with this article?