キャパシティプランニング
システム拡張や改変時に求められる能力を計画する。 それにより将来のリソース需要予測や現状システムで発生する問題解明を行う。
システムキャパシティとして次のような項目を調査する。
考慮する項目の例
- 同時接続ユーザー数
- コンテンツ種類
- プログラミング言語
キャパシティプランニングツール
ツール名 | 説明 |
---|
Nagios | ネットワーク女のホスト状態を監視するソフトウェア。ブラウザでグラフィカルに表示可能 |
MRTG | Multi Router Traffic Graphier。ネットワーク機器のトラフィックを監視し、そのグラフ画像を生成するソフトウェア。画像は Web サーバー経由でブラウザ表示可能 |
Cacti | ネットワーク上ホストのトラフィックやシステム統計情報を収集するソフトウェア。RRD (Round Robin Database) 形式のデータを介してブラウザにグラフ表示できる |
vmstat コマンド
プロセスの状態やメモリの使用状況など、システムリソースの利用状況を表示する。
vmstat [オプション] [実行間隔 (秒数)] [実行回数]
フィールド | 項目 | 説明 |
---|
procs | r (runnable) | 待ち状態となっている実行可能プロセス数 |
procs | b (blocked) | 割り込みできないスリープ状態となっているプロセス数 |
memory | swpd | 使用されているスワップの量 |
memory | free | 未使用のメモリの量 |
memory | buff | 使用されているバッファの量 |
memory | cache | 使用されているキャッシュの量 |
swap | si (swap in) | スワップからメモリに読み込まれた 1 秒間の平均量 |
swap | so (swap out) | メモリからスワップに書き出された 1 秒間の平均量 |
io | bi (block in) | デバイスから読み込まれたブロックの 1 秒間の平均量 |
io | bo (block out) | デバイスに書き出されたブロックの 1 秒間の平均量 |
system | in (interrupt) | 1 秒あたりの割り込み回数 |
system | cs (context switch) | 1 秒あたりのコンテキストスイッチの回数 |
cpu | us (user) | ユーザー時間の割合 |
cpu | sy (system) | カーネル時間の割合 |
cpu | id (idle) | アイドル時間の割合 |
cpu | wa (wait) | I/O 待ち時間の割合 |
cpu | st (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 ディストリビューションによって内容が異なる。
コマンド | 説明 |
---|
cifsiostat | CIFS ファイルシステムの I/O 統計情報を表示 |
io stat | CPU の使用状況と I/O 統計情報を表示 |
mpstat | 全 CPU と CPU 個々の使用状況を表示 |
pidstat | タスクの統計情報を表示 |
sadf | sar で収集したデータの表示 |
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[メジャー番号]-[マイナー番号] |
tps | 1 秒間の転送回数 |
rd_sec/s | 1 秒間の読み込みセクタ数 |
wr_sec/s | 1 秒間の書き込みセクタ数 |
ネットワークデバイスの統計情報 (-n)
フィールド | 表示例 |
---|
IFACE | ネットワークインターフェイス名 |
rxpck/s | 1 秒あたりの受信パケット数 |
txpck/s | 1 秒あたりの送信パケット数 |
rxkB/s | 1 秒あたりの受信キロバイト数 |
txkB/s | 1 秒あたりの送信キロバイト数 |
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 権限が必要となる。
コメント