IT

リソース使用率とトラブルシューティング(1)【LPIC level2】

目次

  • リソース使用率とトラブルシューティング
  • 総合的なリソース使用率測定
  • topコマンド
  • vmstatコマンド
  • iostatコマンド
  • iotopコマンド
  • sarコマンド
  • uptimeコマンド
  • wコマンド

リソース使用率とトラブルシューティング

キャパシティプランニングやパフォーマンスチューニングを実施するには、まず現時点の各種リソースを計測する必要があります。

Linuxでは、リソース使用状況を測定するコマンドやツールが用意されています。

キャパシティプランニングやパフォーマンスチューニングが分からない方は以下リンクにて説明していますのでご利用ください。

総合的なリソース使用率の測定

CPU使用率やメモリの状況など、システムリソースを総合的に確認できるツールには、topコマンドやvmstatコマンドがあります。

topコマンド

topは全体およびプロセスごとのCPUやメモリの使用状況を一定時間ごとに更新して表示するコマンドです。(デフォルトの状態では5秒ごとに表示が更新されます。)

以下、topコマンドの表示例です。

1行目(top行):wコマンドの1行目、uptimeコマンドと同じ

  • 現在時刻
  • システムの稼働時間
  • ログインユーザー数
  • 負荷平均(1分、5分、15分)

2行目(Tasks行):プロセス数についての表示

  • total:プロセスの総数
  • running:稼働中のプロセス
  • sleeping:スリープ状態のプロセス数
  • stopped:停止状態のプロセス数
  • zombie:ゾンビ状態のプロセス数

3行目(Cpu行):CPUの使用状況

  • %us:ユーザープロセスの割合
  • %sy:システムプロセス(カーネル)の割合
  • %ni:nice値(優先度)つきプロセスの割合
  • %id:アイドル時間の割合
  • %wa:I/O待ち時間の割合
  • %hi:ハードウェアの割り込み処理の割合
  • %si:ソフトウェアの割り込み処理の割合
  • %stバーチャルマシンに使用された時間の割合

4行目(Mem行):メモリ使用状況を表示

  • total:物理メモリの総量
  • used:使用中の物理メモリのサイズ
  • free:空いている物理メモリのサイズ
  • buffers:バッファキャッシュのサイズ

5行目(Swap行):スワップ領域の使用状況

  • total:スワップ領域の総量
  • used:使用中のスワップ領域のサイズ
  • free:空いているスワップ領域のサイズ
  • cached:ページキャッシュのサイズ

6行目以降:各プロセスの情報を表示

  • PID:プロセスID
  • USER:ユーザー名
  • PR:実行優先度
  • NI:nice値
  • VIRT:仮想メモリのサイズ
  • RES:使用中の物理メモリのサイズ
  • SHR:共有メモリサイズのサイズ
  • S:プロセスの状態
  • %CPU:CPUの使用率
  • %MEM:物理メモリの使用率
  • TIME+:プロセスが開始してから使用したCPUの時間の統計
  • COMMAND:実行コマンド

vmstatコマンド

vmstatコマンドは、物理メモリやスワップ領域の詳細な情報や、プロセスやCPUの統計情報などを表示します。

procs:プロセスの統計情報を表示

  • r:実行待ちプロセスの数
  • b:I/O待ちなどで割り込み負荷のスリープ状態にあるプロセスの数
  • w:スワップアウトされているプロセスの数

memory:メモリの使用状況を表示

  • swpd:使用中のスワップ領域のサイズ
  • free:空いている物理メモリのサイズ
  • buff:バッファキャッシュのサイズ
  • cache:ページキャッシュのサイズ

swap:スワップイン・スワップアウト

  • si:スワップインされているメモリのサイズ
  • so:スワップアウトされているメモリのサイズ

io:ディスクI/Oの状態を表示

  • bi:デバイスからの読み取りブロック数/秒
  • bo:デバイスへの書き込みブロック数/秒

system:割り込み回数やコンテキストスイッチ回数を表示

  • in:1秒当たりの割り込み回数(クロック割り込み含む)
  • cs:1秒当たりのコンテキストスイッチ回数

cpu:CPUの使用状況を表示

  • us:ユーザープロセスの割合
  • sy:システムプロセス(カーネル)の割合
  • id:アイドル時間の割合
  • wa:I/O待ち時間の割合
  • st:バーチャルマシンに使用された時間の割合

iostatコマンド

iostatコマンドは、CPUの利用状況およびディスクI/Oの状況などを表示します。

avg-cpu行:CPUの使用状況を表示

  • %user:ユーザープロセスの割合
  • %nice:nice値(優先度)つきプロセスの割合
  • %system:システムプロセス(カーネル)の割合
  • %iowait:I/O待ち時間の割合
  • %steal:バーチャルマシンに使用された時間の割合
  • %idle:アイドル時間の割合

Device行:ディスクI/Oの状態を表示

  • tps:I/O転送リクエスト数/秒
  • Blk_read/s:デバイスの読み取りブロック数/秒
  • Blk_wrtn/s:デバイスの書き込みブロック数/秒
  • Blk_read:デバイスの読み取りブロック数/秒
  • Blk_wrtn:デバイスの書き込みブロック数

iotopコマンド

iotopコマンドとは、I/O情報をtopコマンドコマンドのようにプロセスごとに表示するコマンドです。

sarコマンド

sarコマンドは、sadcコマンドが収集した様々な情報を表示するコマンドです。

sadcコマンドはcronの設定により定期的に実行され、収集した情報は「/var/log/sa/saXX」ファイルに書き込まれます。

sar -u:システム全体としてのCPU使用率を表示

  • %user:ユーザープロセスの割合
  • %nice:nice値(優先度)つきプロセスの割合
  • %system:システムプロセス(カーネル)の割合
  • %iowait:I/O待ち時間の割合
  • %steal:バーチャルマシンに使用された時間の割合
  • %idle:アイドル時間の割合

sar -r:物理メモリの使用状況を表示

  • kbmemfree:空いている物理メモリのサイズ
  • kbmemused:使用中の物理メモリのサイズ
  • %memused:物理メモリの使用率
  • kbbuffers:バッファキャッシュのサイズ
  • kbcached:ページキャッシュのサイズ

sar -S:スワップ領域の使用状況を表示

  • kbswpfree:空いているスワップ領域のサイズ
  • kbswpused:使用中のスワップ領域のサイズ
  • %swpused:スワップ領域の使用率
  • kbswpcad:スワップアウト後にまだスワップにキャッシュしている量
  • %swpcad:スワップ使用量に対するキャッシュされたスワップメモリの使用率

sar -b:ディスクI/Oの状況を表示

  • tps:I/O転送リクエスト数/秒
  • rtps:デバイス読み込みリクエスト数/秒
  • wtps:デバイス書き込みリクエスト数/秒
  • bread/s:デバイスからの読み取りブロック数/秒
  • bwrtn/s:デバイスへの書き込みブロック数/秒

sar -n DEV:ネットワークインターフェースの送信・受信パケットの状態を表示

  • IFACE:受信パケット数/秒
  • rxpck:受信パケット数/秒
  • txpck:送信パケット数/秒
  • rxbyt:受信バイト数/秒
  • txbyt:送信バイト数/秒
  • rxcmp/s:圧縮パケットの受信バイト数/秒
  • txcmp/s:圧縮パケットの送信バイト数/秒
  • rxmcst/s:マルチキャストパケットの受信パケット数/秒

sar -n EDEV:ネットワークインターフェースの送信・受信エラーパケットの状態を表示

  • IFACE:ネットワークインターフェース名
  • rxerr:エラーパケット受信数/秒
  • txerr:送信時のエラーパケット発生数/秒
  • coll/s:コリジョン発生数/秒
  • rxdrop/s:バッファ不足で破棄された受信パケット数/秒
  • txdrop/s:バッファ不足で破棄された送信パケット数/秒
  • txcarr/s:送信時のキャリアエラー数/秒
  • rxfram/s:受信時のフレームエラー数/秒
  • rxfifo/s:受信パケットのFIFOオーバーラン数/秒
  • txfifo/s:送信パケットのFIFOオーバーラン数/秒

uptimeコマンド

uptimeコマンドとは、システムの稼働時間やログインユーザー数、平均付加などが表示されます。(topコマンドの1行目とほぼ同じ)

wコマンド

wコマンドをとは、現在ログインしているユーザーと各ユーザーのプロセス情報が表示されます。

ユーザー名を指定すると、そのユーザーの情報のみが表示されます。

長くなってしまうので、続きは以下リンクからお願いします。

他の分野へのリンクがある全体ページへは以下からお願いします。