【LinuC 201試験】2.04 ユーザへの通知とリソース使用状況の把握|Linux初学者向け解説【top・vmstat・sar・ps】

※本ページはプロモーションが含まれています

こんにちは!いつもブログを読んでいただき、ありがとうございます。

今回は、主題2.04「システムの保守と運用管理」の中盤、2.04.3 ユーザへの通知2.04.4 リソース使用状況の把握 を解説していきます!

「メンテナンス前にログイン中のユーザに連絡するにはどうするの?」「CPUやメモリの使用率を確認するコマンドが多すぎてわからない!」——そんな疑問を持っている方も多いと思います。特に 2.04.4 はシラバスに載っているコマンドが多いので、「何を使えばどの情報がわかるか」という使い分けをセットで覚えていきましょう!

LinuC 201全体の学習ロードマップはこちらにまとめています♪

👉 【LinuC 201】独学合格へのロードマップ!勉強方法と出題範囲の全体像まとめ


📋 試験の重要情報と学習のゴール

主題番号テーマ重要度
2.04.3ユーザへの通知1(5段階中)
2.04.4リソース使用状況の把握3(5段階中)

2.04.3は重要度1と低めですが、コマンドの数が少なく覚えやすいのでしっかり得点源にしましょう。2.04.4は重要度3でコマンドの種類が最も多い範囲のひとつです。比較表を活用して整理していきますよ!


1. ユーザへの通知|★★☆

wall — ログイン中の全ユーザにメッセージを送る

wallwrite all)は、現在ログインしている全ユーザのターミナルにメッセージをブロードキャストするコマンドです。

# コマンドラインから直接メッセージを送る
wall "システムは30分後にメンテナンスのため再起動します。作業を保存してください。"

# ファイルの内容をメッセージとして送る
wall < /etc/motd

📝 試験ポイントwall は “write all” の略です。ログイン中の全員に届きます。


write — 特定ユーザにメッセージを送る

# 特定ユーザにメッセージを送る
write username

# 特定のターミナルを指定して送る(同じユーザが複数端末でログイン中の場合)
write username pts/1

実行後はメッセージを入力して Ctrl+D で送信します。


mesg — メッセージの受信を制御する

# メッセージ受信を許可する
mesg y

# メッセージ受信を拒否する
mesg n

# 現在の設定を確認する
mesg

📝 試験ポイントmesg n を設定したユーザには write が届きませんが、rootが送る wall は届きます(環境による)。


ログイン前後のメッセージファイル(試験頻出!)

ファイル表示タイミング内容
/etc/motdログインに表示Message of the Day(日次メッセージ)
/etc/issueログイン(ローカル)に表示ログインプロンプト前のメッセージ
/etc/issue.netログイン(SSH等リモート)に表示リモートログイン前のメッセージ

★ここがポイント! /etc/motd(motd = Message Of The Day)はログイン「後」、/etc/issue はログイン「前」です。前後の違いを確実に覚えましょう!


shutdown — シャットダウン時のメッセージ通知

shutdown コマンドはシャットダウン時に全ログインユーザへ自動でメッセージを通知します。

# 30分後にシャットダウン(メッセージ付き)
shutdown -h +30 "30分後にシャットダウンします。作業を保存してください。"

# 今すぐシャットダウン
shutdown -h now

# 再起動
shutdown -r +10 "10分後に再起動します。"

# スケジュールされたシャットダウンをキャンセルする
shutdown -c

2.04.3 まとめ

コマンド / ファイル用途
wallログイン中の全ユーザにメッセージを送る
write ユーザ名特定ユーザにメッセージを送る
mesg y/nメッセージ受信の許可 / 拒否
/etc/motdログインに表示されるメッセージ
/etc/issueログイン(ローカル)に表示されるメッセージ
/etc/issue.netログイン(リモート)に表示されるメッセージ

2. リソース使用状況の把握|★★★ 最頻出!

まず「何を確認するか」で使うコマンドを決める

コマンドの数が多くて「正直ややこしい…」と感じやすい範囲ですが、「何のリソースを確認したいか」で引き出しを整理すると一気に覚えやすくなります。

確認したいこと主なコマンド
システム全体のリアルタイム監視tophtop
現在の負荷・ログインユーザ確認uptimewwho
CPU・メモリ・スワップ統計vmstat
メモリ使用量free
ディスクI/Oiostatiotop
過去のリソース履歴sar
プロセス一覧ps
コマンドの定期実行・監視watch
ネットワーク帯域の監視iftopiptraf
開いているファイル / ポートlsof

uptime / w / who — 負荷とログインユーザの確認(試験頻出!)

通知を送る前に「今誰がログインしているか」を確認するコマンドです。

# システムの稼働時間とロードアベレージを確認する
uptime
# 出力例: 14:30:00 up 5 days, 2 users, load average: 0.10, 0.15, 0.12
#                                       1分  5分  15分の平均負荷

# ログイン中のユーザと各ユーザのCPU使用状況・ロードアベレージを確認する
w

# ログイン中のユーザの一覧だけ確認する(シンプルに)
who
コマンド表示内容違い
uptime稼働時間とロードアベレージのみ最もシンプル
whoログインユーザの一覧(端末・ログイン時刻)ユーザ一覧に特化
wログインユーザ+各ユーザのCPU使用状況+ロードアベレージ最も情報が多い

📝 試験ポイント:ロードアベレージは「1分・5分・15分」の平均値が表示されます。CPUコア数が基準で、1コアのサーバなら値が 1.0 を超え続けると過負荷の目安です。top の上部にも同じロードアベレージが表示されるので、uptime と同じ値を確認できます。


top / htop — システム全体のリアルタイム監視

top はCPU・メモリ・プロセスの使用状況をリアルタイムで表示する定番ツールです。

# top を起動する
top

# 更新間隔を指定する(1秒ごと)
top -d 1

# 特定ユーザのプロセスのみ表示する
top -u username

# バッチモード(スクリプトから1回だけ出力)
top -b -n 1

top 起動中の操作キー

キー動作
q終了
kプロセスをkillする(PIDを入力)
Mメモリ使用量でソート
PCPU使用率でソート(デフォルト)
1CPUコアごとの使用率を表示

top の出力の読み方(ここ、試験に出ます!)

%Cpu(s): 5.0 us, 2.0 sy, 0.0 ni, 92.0 id, 1.0 wa, 0.0 hi, 0.0 si
表示意味
usユーザ空間のCPU使用率
syカーネル(システム)のCPU使用率
idアイドル(空き)CPU
waI/O待ちのCPU(大きいとディスクがボトルネックの疑い)

★ここがポイント! wa(I/O wait)が大きい場合はディスクのボトルネックが疑われます。id(idle)が100に近いほどCPUは余裕がある状態です。

📝 htoptop の改良版です。色付き表示・マウス操作対応・見やすいUIが特徴です。機能は同様ですが、よりインタラクティブに操作できます。なお htop は標準でインストールされていない環境もあるため、試験では基本的に top が前提です。


watch — コマンドを定期実行して画面を更新する(試験頻出!)

watch はコマンドを一定間隔で繰り返し実行し、画面をリアルタイムで更新するツールです。単体のコマンドにリアルタイム監視の機能をつけられるため、試験でよく問われます。

# free コマンドを2秒ごとに更新して表示する(デフォルトは2秒)
watch free -h

# 更新間隔を指定する(1秒ごと)
watch -n 1 free -h

# 変化した部分をハイライトする
watch -d free -h

# df の空き容量を監視する
watch -n 5 df -h

📝 試験ポイント:「free をリアルタイムで監視するコマンドはどれか」という問いに対して watch free が正解になります。watch 単体では何もしないため、後ろに実行したいコマンドをセットで指定する点を覚えておきましょう。


vmstat — CPU・メモリ・I/O・スワップの統計

vmstat はメモリ・スワップ・CPU・ブロックI/Oの統計を表示します。

# 現在の統計を1回表示する
vmstat

# 2秒ごとに5回表示する
vmstat 2 5

# メモリ情報をMB単位で表示する
vmstat -S M

vmstat の出力の重要な列:

意味
r実行待ちプロセス数(大きいとCPUが追いついていない)
bI/O待ちでブロックされているプロセス数
siスワップイン(ディスク→メモリ)KB/s
soスワップアウト(メモリ→ディスク)KB/s
waI/O待ちCPU %

📝 試験ポイントsi(スワップイン)と so(スワップアウト)が大きい値の場合、メモリ不足でスワップが多発していることを示します。パフォーマンス問題の重要なサインです。


free — メモリ使用量の確認

# 人間が読みやすい単位で表示する(自動でKB/MB/GBを選択)
free -h

# MB単位で表示する
free -m

# 3秒ごとに繰り返し表示する
free -h -s 3

📝 試験ポイント:出力の available(実際に利用可能なメモリ)は free の値よりも重要です。buff/cache は必要に応じてメモリとして使えるため、available が判断の基準になります。


iostat / iotop — ディスクI/Oの確認

# CPU統計とディスクI/O統計を表示する
iostat

# 拡張統計を表示する(%util が重要)
iostat -x

# 2秒ごとに5回表示する
iostat -x 2 5

# プロセスごとのディスクI/Oをリアルタイムで表示する(root権限が必要)
iotop

iostat -x の重要な列:

意味
%utilディスクの使用率(100%に近いとボトルネック)
awaitI/O要求の平均待ち時間(ms)
r/s1秒あたりの読み込み要求数
w/s1秒あたりの書き込み要求数

📝 試験ポイントiostat はディスク全体の統計、iotopどのプロセスがディスクI/Oを多く使っているかを確認するコマンドです。使い分けを覚えておきましょう。


sar — 過去のリソース履歴を確認する(唯一の履歴系!)

sar(System Activity Reporter)は、過去のシステムリソース統計を記録・確認するツールです(sysstat パッケージに含まれます)。

# CPU使用率の履歴を表示する
sar

# メモリ使用量の履歴
sar -r

# ディスクI/Oの履歴
sar -b

# ネットワーク統計の履歴
sar -n DEV

# 2秒ごとに5回取得する
sar -u 2 5

# 過去の特定日のデータを確認する
sar -f /var/log/sa/sa01

★ここがポイント! sar過去のデータを遡って確認できる唯一のコマンドです。「昨夜ピーク時に何があったか」を調べる場面で活躍します。データは /var/log/sa/ に蓄積されます。

⚠️ sar を使うための前提条件sar を利用するには sysstat パッケージのインストールと、データ収集サービス(sysstat)の有効化が必要です。「sar を実行しても何も表示されない」というトラブルの原因として試験でも問われることがあるので、セットで覚えておきましょう。

# sysstat サービスを有効化して起動する
systemctl enable --now sysstat

ps — プロセスの状態確認(BSD形式と System V 形式)

ps はプロセスの一覧を確認するコマンドです。オプションの書き方にBSD形式System V形式の2種類があり、どちらも試験に出ます。

# BSD形式(最もよく使う)
ps aux

# System V 形式(ps aux とほぼ同じ情報が得られる)
ps -ef

# プロセスをツリー形式で表示する
ps axjf

# 特定ユーザのプロセスのみ表示する
ps -u username

# 特定のプロセス名で絞り込む
ps aux | grep httpd

ps auxps -ef の比較(試験頻出!)

項目ps auxps -ef
形式BSD形式System V(UNIX)形式
CPU・メモリ使用率✅ 表示あり(%CPU%MEM❌ 表示なし
親プロセスID(PPID)❌ 表示なし✅ 表示あり(PPID列)

📝 試験ポイントps aux でCPU・メモリ使用率が確認できる点と、ps -ef でPPID(親プロセスID)が確認できる点を区別して覚えましょう。ここはそのまま得点に直結するので、しっかり押さえておきましょう!

ps aux の出力の見方

意味
%CPUCPU使用率
%MEMメモリ使用率
STATプロセスの状態(R=実行中、S=スリープ、Z=ゾンビ、D=I/O待ちなど)

📝 試験ポイントSTAT 列の Z(ゾンビプロセス)は親プロセスが終了ステータスを回収していない状態です。大量のゾンビプロセスはシステム問題の兆候です。


iftop / iptraf — ネットワーク帯域の監視

# インターフェースごとのネットワーク帯域をリアルタイムで表示する
iftop -i enp1s0

# ネットワークの通信量をリアルタイムで対話表示する
iptraf-ng
コマンド特徴
iftop接続先ホストごとの帯域使用量を確認
iptraf-ngプロトコル別・インターフェース別の詳細なトラフィック統計

lsof — 開いているファイルの確認

lsofLiSt Open Files)は、プロセスが開いているファイルやネットワーク接続を確認するツールです。そのまま実行すると大量の情報が出力されるため、grep と組み合わせて使うのが基本です。

# 特定ポートを使用しているプロセスを確認する
lsof -i :80

# 特定ユーザが開いているファイルを確認する
lsof -u username

# 削除済みだがまだ使用中のファイルを確認する(ディスク容量が解放されない原因調査)
lsof | grep deleted

ディスク使用量の確認(df / du)

# ファイルシステムの使用量を確認する(df)
df -h           # 人間が読みやすい単位で表示
df -i           # inode の使用状況を確認

# ディレクトリのサイズを確認する(du)
du -sh /home/user/    # 合計サイズのみ表示
du -sh *              # カレントの各ファイル/ディレクトリのサイズ

# 使用量の多いディレクトリを探す(du + sort)
du -sh /var/* | sort -rh | head -10
コマンド用途
dfDisk Free:ファイルシステム単位の空き容量
duDisk Usage:ディレクトリ/ファイル単位の使用量

⚠️ 引っかけポイントdf はファイルシステム全体の使用量、du は特定ディレクトリ以下の合計サイズです。「ディスクが埋まっているのにどのディレクトリが原因か調べる」には du を使います。


試験で狙われる!引っかけポイントまとめ 💣

過去問を解いていて「ここ、引っかかりそう!」と感じたパターンをまとめました。試験直前に見直してくださいね。

#間違いパターン正しい理解
1/etc/motd はログイン前に表示される/etc/motd はログイン。ログイン前は /etc/issue
2vmstatsi/so が大きい → CPU問題si/so はスワップの出入り → メモリ不足のサイン
3topwa が高い → メモリ不足wa(I/O wait)が高いのはディスクI/Oのボトルネック
4sar でリアルタイム監視をするsar過去データの確認が主な用途。リアルタイムは topvmstat
5df でどのディレクトリが容量を使っているか調べるdf はファイルシステム単位。ディレクトリ単位は du
6ps aux で親プロセスID(PPID)を確認する❌ PPIDが表示されるのは ps -ef(System V形式)
7watch 単体でリソースを監視できるwatch は「コマンドを定期実行するラッパー」。watch free -h のように対象コマンドをセットで指定する

🎓 一緒に使っている教材はこちら

私がメインで使っている参考書と問題集です。よければ一緒に勉強していきましょう(笑)

【PR】▶ あずき本(Linux教科書 LinuCレベル2 Version 10.0対応) 概念や仕組みをしっかり理解したいときの辞書代わりに。まずここで基礎を固めます。

【PR】▶ スピードマスター LinuCレベル2問題集(白本) 本番に近い難易度で問題演習したいときに。あずき本で理解したあとに使うと定着度が上がります。


✅ まとめ

お疲れ様でした!今回のポイントをおさらいしましょう。

  • 通知コマンド:全員には wall、特定ユーザには write、受信拒否は mesg n
  • メッセージファイル:ログイン前 = /etc/issue(ローカル)/ /etc/issue.net(リモート)、ログイン後 = /etc/motd
  • ロードアベレージ確認uptimewwho の使い分けを押さえる
  • watch:コマンドを定期実行するラッパー。watch free -h のようにセットで使う
  • topwa:高いとディスクI/Oがボトルネック
  • vmstatsi/so:大きいとメモリ不足でスワップ多発
  • sar:唯一過去データを遡れる。データは /var/log/sa/ に蓄積
  • ps aux vs ps -ef:CPU/メモリは aux、PPIDは -ef
  • df vs du:ファイルシステム単位は df、ディレクトリ単位は du

皆さんにとって、今日も素敵な1日になりますように!


参考:LPI-Japan 公式試験範囲 https://linuc.org/linuc2/range/201.html

※本記事はLinuC レベル2 Version 10.0 の出題範囲をもとに作成しています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA