LinuCレベル2 201試験の例題と解説
2.04.4リソース使用状況の把握
LinuCレベル2 201試験の出題範囲から「2.04.4 リソース使用状況の把握」についての例題を解いてみます。
例題
CPU使用率に関連する情報を取得可能なコマンドとして、正しいものをすべて選んでください。
- htop
- ps
- free
- sar
- iftop
※この例題は実際の試験問題とは異なります。
解答と解説
正解は、 1. htop、2. ps、4. sar です。
例題の各選択肢について解説をします。
1. htop
正解です。
htopは、実行中のプロセスの詳細な一覧を表示することができるコマンドです。topの置き換えを目標に設計されたコマンドとなっており、CPUとメモリとスワップについての情報が色付きで視覚的に表示されます。
コマンドの実行例は以下です。※出力結果の一部です。
htop
0[ 0.0%] Tasks: 47, 70 thr, 118 kthr; 0 running
1[ 0.0%] Load average: 0.19 0.05 0.02
Mem[|||||||||||||||||||||||||||||||||||||1.19G/3.63G] Uptime: 27 days, 01:32:55
Swp[ 0K/0K]
[Main] [I/O]
PID USER PRI NI VIRT RES SHR S CPU%▽MEM% TIME+ Command
1 root 20 0 176M 17232 8768 S 0.0 0.5 1:13.75 /usr/lib/systemd/systemd --switched-root --s
540 root 20 0 106M 13072 11528 S 0.0 0.3 0:33.75 /usr/lib/systemd/systemd-journald
553 root 20 0 33336 9324 5356 S 0.0 0.2 0:04.01 /usr/lib/systemd/systemd-udevd
625 root 16 -4 18140 2080 1348 S 0.0 0.1 0:01.98 /sbin/auditd
626 root 16 -4 18140 2080 1348 S 0.0 0.1 0:00.01 /sbin/auditd
2. ps
正解です。
psコマンドは、現在実行中のプロセスを表示するためのコマンドです。psコマンドを使うことで、各プロセスのID、実行ユーザー、メモリやCPUの使用状況、プロセスの状態などを確認できます。
コマンドの実行例は以下です。 ※出力結果の一部です。
ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.4 180652 17232 ? Ss 10月02 1:13 /usr/lib/systemd/systemd
root 2 0.0 0.0 0 0 ? S 10月02 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? I< 10月02 0:00 [rcu_gp]
root 4 0.0 0.0 0 0 ? I< 10月02 0:00 [rcu_par_gp]
実行例は以下のオプションを利用しており、全ユーザーのプロセスを詳細表示しています。
a: 他のユーザーのプロセスも含めて表示
u: プロセスをユーザー単位で詳細表示
x: ログインセッションに紐づかないプロセスも表示
3. free
不正解です。
freeコマンドは、メモリ使用状況を確認するためコマンドです。システムが使っているRAM、スワップ領域(swap)、バッファ、キャッシュの詳細を表示します。これにより、システムのパフォーマンス状況やリソース不足がないかを把握することができます。
コマンドの実行例は以下です。
free
total used free shared buff/cache available
Mem: 3809424 1143988 809944 99520 1855492 2298620
Swap: 0 0 0
4. sar
正解です。
sarコマンドは、CPUやメモリ、ネットワーク、ディスクI/Oなどの負荷状況を確認できるコマンドです。過去に遡って情報を確認できるため、長期間のパフォーマンスデータを追跡するために利用することができます。また、先述したhtopやpsコマンドではプロセス毎のCPU使用率を確認できるのに対し、sarコマンドではサーバ全体のCPU使用率を確認することができます。
コマンドの実行例は以下です。 ※出力結果の一部です。
sar
Linux 5.14.0-70.13.1.el9_0.x86_64 (almalinux9) 2024年10月30日 _x86_64_ (2 CPU)
00時00分00秒 CPU %user %nice %system %iowait %steal %idle
00時10分00秒 all 0.31 0.00 0.17 0.01 0.00 99.51
00時20分00秒 all 0.17 0.00 0.17 0.00 0.00 99.66
00時30分00秒 all 0.24 0.01 0.18 0.00 0.00 99.56
00時40分00秒 all 0.23 0.00 0.17 0.00 0.00 99.60
00時50分00秒 all 0.22 0.00 0.17 0.00 0.00 99.60
オプションをなにも指定しない場合、CPU使用率の情報が出力されます。オプションを指定することで、メモリ、ネットワーク、ディスクI/Oなどの負荷状況を確認することも可能です。
-u: CPU使用率を表示
-r: メモリとスワップの使用状況を表示
-b: ディスクI/Oの統計情報を表示
-n: ネットワーク使用状況の統計情報を表示
-q: ロードアベレージを表示
5. iftop
不正解です。
iftopコマンドは、ネットワークのリアルタイム通信状況を監視するためのツールです。各ネットワークインターフェースを通過する送受信パケットや帯域使用量を、ホストごとに表示します。
コマンドの実行例は以下です。
iftop -i enp1s0 -n -t
interface: enp1s0
IP address is: 10.1.3.1
MAC address is: 56:6f:05:18:00:09
Listening on enp1s0
# Host name (port/service if enabled) last 2s last 10s last 40s cumulative
--------------------------------------------------------------------------------------------
1 10.1.3.1 => 9.34Kb 9.34Kb 9.34Kb 2.33KB
10.1.3.6 <= 1.04Kb 1.04Kb 1.04Kb 267B
2 10.1.3.1 => 432b 432b 432b 108B
192.168.20.114 <= 184b 184b 184b 46B
--------------------------------------------------------------------------------------------
Total send rate: 9.76Kb 9.76Kb 9.76Kb
Total receive rate: 1.22Kb 1.22Kb 1.22Kb
Total send and receive rate: 11.0Kb 11.0Kb 11.0Kb
--------------------------------------------------------------------------------------------
Peak rate (sent/received/total): 9.76Kb 1.22Kb 11.0Kb
Cumulative (sent/received/total): 2.44KB 313B 2.75KB
============================================================================================
実行例は以下のオプションを利用しており、インタフェースenp1s0の通信状況を出力しています。
-i: パケットを取得するインタフェースを指定
-n: ホスト名の検索は行わず、IPアドレスで表示
-t: ncursesを使用しないテキストベースの表示
リソース使用状況の確認コマンドは、システムの健全性やパフォーマンスの監視・トラブルシューティングのためによく使用されます。これらのコマンドを状況に応じて適切に使い分けることで、トラブルの迅速な解決や予防的なパフォーマンス管理を行えるようにしましょう。
例題作成者
株式会社デージーネット 経営企画室 今村 凌太