LPIC-2 試験勉強メモ その 1

LPIC-2 試験勉強メモ その 1

キャパシティプランニング

システム拡張や改変時に求められる能力を計画する。 それにより将来のリソース需要予測や現状システムで発生する問題解明を行う。

システムキャパシティとして次のような項目を調査する。

  • CPU
  • メモリ
  • ストレージ
  • ネットワーク

考慮する外的要因の例

  • 同時接続ユーザー数
  • コンテンツ種類
  • プログラミング言語

キャパシティプランニングツール

有名なキャパシティツールには次のようなものがある。

ツール名説明
Nagiosネットワーク上のホスト状態を監視するソフトウェア。ブラウザでグラフィカルに表示可能
MRTGMulti Router Traffic Graphier。ネットワーク機器のトラフィックを監視し、そのグラフ画像を生成するソフトウェア。画像は Web サーバー経由でブラウザ表示可能
Cactiネットワーク上ホストのトラフィックやシステム統計情報を収集するソフトウェア。RRD (Round Robin Database) 形式のデータを介してブラウザにグラフ表示できる

vmstat コマンド

プロセスの状態やメモリの使用状況など、システムリソースの利用状況を表示する。

vmstat [オプション] [実行間隔 (秒数)] [実行回数]
フィールド項目説明
procsr (runnable)待ち状態となっている実行可能プロセス数
procsb (blocked)割り込みできないスリープ状態となっているプロセス数
memoryswpd使用されているスワップの量
memoryfree未使用のメモリの量
memorybuff使用されているバッファの量
memorycache使用されているキャッシュの量
swapsi (swap in)スワップからメモリに読み込まれた 1 秒間の平均量
swapso (swap out)メモリからスワップに書き出された 1 秒間の平均量
iobi (block in)デバイスから読み込まれたブロックの 1 秒間の平均量
iobo (block out)デバイスに書き出されたブロックの 1 秒間の平均量
systemin (interrupt)1 秒あたりの割り込み回数
systemcs (context switch)1 秒あたりのコンテキストスイッチの回数
cpuus (user)ユーザー時間の割合
cpusy (system)カーネル時間の割合
cpuid (idle)アイドル時間の割合
cpuwa (wait)I/O 待ち時間の割合
cpust (stolen)仮想マシンに与えた時間の割合

top コマンド

各インターバルで CPU 使用率の高い順にプロセスを表示する。

  • -d [秒数]:更新の間隔を秒単位で指定
  • -n [数値]:表示の回数を数値で指定
1 行目: top: 稼働時間や負荷平均を表示
フィールド表示例
現在時刻11:51:16
稼働時間up 7 days, 1:21
ログインユーザー数17 users
負荷平均 (過去 1 分、5 分、15 分)load average: 0.11, 0.39, 0.54
2 行目: Tasks: タスクの状態を表示
フィールド表示例
タスクの総数297 total
ランあるいはラン可能なタスク数1 runnning
スリープしているタスク数296 sleeping
ストップしているタスク数0 stopped
ゾンビタスク数0 zombie
3 行目: Cpu (s): CPU の稼働状況を使用時間の割合 (%) で表示
フィールド表示例
ユーザーモードの時間4.5%us
システムモードの時間2.8%sy
nice 値による程優先度ユーザーモードの時間0.0%ni
アイドル時間92.5%id
I/O 終了待ちの時間0.0%wa
ハードウェア割り込みの処理時間0.2%hi
ソフトウェア割り込みの処理時間0.0%si
仮想マシンに与えた時間0.0%st
4 行目: Mem: メモリの使用状況を表示
フィールド表示例
メモリの総量3877436k total
使用されているメモリのサイズ2992688k used
未使用のメモリのサイズ884748 free
使用されているバッファのサイズ65208k buffers
5 行目: Swap: スワップとキャッシュの使用状況を表示
フィールド表示例
スワップ領域の総量6143992k total
使用されているスワップ領域のサイズ356204k used
未使用のスワップ領域のサイズ5787788k free
キャッシュとして使用されているメモリのサイズ869332k cached
設定ファイル

設定ファイルは ~/.toprc で定義可能。 デフォルトは次の通り。

  • インターバル: 3 秒
  • プロセスの表示順: CPU 使用率の高い順
  • 表示プロセス数: フルスクリーン

htop コマンド

top コマンドと同様に実行中プロセスを各インターバルで CPU 使用率の高い順に表示する ncurses ベースのツール。

iotop コマンド

スレッドやプロセスをディスク I/O やスワップに要した時間比率の高い順に表示する。

uptime コマンド

システムの稼働時間や負荷平均を表示する。 負荷平均はラン可能待ち行列プロセスの平均個数を表す。

フィールド表示例
現在時刻16:22:58
稼働時間up 3:15
ログインユーザー数1 user
負荷平均 (過去 1 分、5 分、15 分)load average: 0.12, 0.05, 0.01

sysstat パッケージ

sysstat パッケージはパフォーマンスモニターのためのコマンドを含んだパッケージである。 Sebastien Godard が開発したもので、Linux ディストリビューションによって内容が異なる。

コマンド説明
cifsiostatCIFS ファイルシステムの I/O 統計情報を表示
iostatCPU の使用状況と I/O 統計情報を表示
mpstat全 CPU と CPU 個々の使用状況を表示
pidstatタスクの統計情報を表示
sadfsar で収集したデータの表示
sarシステムアクティビティの収集と表示

sar コマンド

システムアクティビティの統計情報を収集、格納、表示する。

sar [オプション] [インターバル (秒)] [回数]
sar [インターバル (秒)] [回数] [オプション]
  • -o [ファイル名]: 格納するデータファイルの指定。バイナリデータで格納される。指定ない場合は /var/log/sa/saDD
  • -f [ファイル名]: 表示するデータファイルの指定。指定ない場合は /var/log/sa/saDD
  • -P {CPU 番号 | ALL}: プロセッサごとの統計情報の表示。ALL の場合はすべてのプロセッサ情報を表示
  • -r: メモリの使用状況を表示
  • -d: ブロックデバイスの統計情報を表示
  • -n {キーワード | ALL}: キーワードで指定したネットワークの統計情報を表示。主な気ワードは DEV、SOCK、IP、TCP、UDP
  • -b: I/O と転送レートの統計情報を表示
  • -A すべての統計情報を表示
メモリの使用状況 (-r)
フィールド表示例
kbmemfree未使用のメモリサイズ (KB)
kbmemused使用中のメモリサイズ (KB)
%memused使用中のメモリのパーセンテージ
ブロックデバイスの統計情報 (-d)
フィールド表示例
DEVブロックデバイスの番号。dev[メジャー番号]-[マイナー番号]
tps1 秒間の転送回数
rd_sec/s1 秒間の読み込みセクタ数
wr_sec/s1 秒間の書き込みセクタ数
ネットワークデバイスの統計情報 (-n)
フィールド表示例
IFACEネットワークインターフェイス名
rxpck/s1 秒あたりの受信パケット数
txpck/s1 秒あたりの送信パケット数
rxkB/s1 秒あたりの受信キロバイト数
txkB/s1 秒あたりの送信キロバイト数
I/O と転送レートの統計情報 (-b)
フィールド表示例
tps物理デバイスに対する毎秒あたりの全転送数 (I/O リクエスト数)
rtps物理デバイスに対する毎秒あたりの読み取りリクエスト数
wtps物理デバイスに対する毎秒あたりの書き込みリクエスト数
bread/s物理デバイスに対する毎秒あたりの読み取りデータ量 (単位は 512 バイト)
bwrtn/s物理デバイスに対する毎秒あたりの書き込みデータ量 (単位は 512 バイト)

crontab での定期実行

システムの統計情報を収集するシェルスクリプトを定期的に実行する。

  • sa1: sadc コマンドを実行し、バイナリの統計データをログファイルに追記する
  • sa2: sar コマンドを実行し、バイナリデータからテキストデータを生成する

iptraf-ng コマンド

ncurses ベースの IP ネットワークモニタリングツール。 TCP/UDP などの IP パケットモニター、およびネットワークインターフェイスの統計情報を表示する。 実行には root 権限が必要となる。