1
/
5

サーバーの負荷のかかり方をみるコマンドについて

vmstat

性能解析や障害解析を行う時に使うコマンドで、CPUやメモリーの状態を見ることのできるコマンド

一番シンプルな使い方は

vmstat 数字

で、この時間ごとのリアルタイムのデータを見ることができる

[root@localhost ~]# vmstat 5

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----

r b swpd free buff cache si so bi bo in cs us sy id wa st

4 0 0 1008832 1008 429716 0 0 1 1 42 68 0 0 99 0 0

6 0 0 1007856 1008 429716 0 0 0 0 2269 614 96 4 0 0 0


r CPUへのアクセスを待っているものの数

b 入力待ちになっている物の数

普通0~3程度bの値が多くなっているようならディスクの問題?


swpd 仮想メモリー量

free  空きメモリー量

buff  バッファにしようされているメモリー量

cache  キャッシュページとして使用されているメモリーの量

メモリーの量なのでそこまですごく気にする必要はない



si  ディスクからスワイプインしたディスクメモリー量

so  ディスクからスワイプアウトしたディスクメモリー量

物理メモリーが足りて入ればそこまで値が上がらないところ



bi  ブロックデバイスから受け取ったブロック

bo  ブロックデバイスに送られたブロック

大きなファイルの移動などがおきたときに値が変わる場所

ハードディスクの性能に関係している

高い状態が長時間続いているなら割り込みもできないという状態なので、ディスクを増やすかサーバーの分散を必要としている


in 毎秒の割り込み回数

cs  毎秒のコンテキストスイッチの回数

サーバーの負荷が上がるときにあがる部分。あまりに高いようだと負荷耐性が落ちているということ

システムの見直しをしたほうがいいかも

us ユーザーが使ったCPUの割合

sy  システムが使ったCPUの割合

id  CPUのアイドル

wa  IOの待ち時間

st CPU使用率

idは通常90%以上あると安定しているサーバー

瞬間的にCPUが使われることは当然あるが、長い時間使用率が高いと耐えられなくなってるということ

システムの見直しをしたほうがいい

iostat

i/oの統計情報を出力するコマンド

I/Oとは、Input/Outputの略

オプションとして数字を指定することで一定間隔のデータを見ることができる


%user

CPU総時間当たりのユーザー空間での実行時間の割合(%)

%system

CPU総時間当たりのカーネル空間での実行時間の割合(%)

%iowait

CPU総時間当たりのI/O待ち時間の割合(%)

%idle

CPU総時間当たりのアイドル時間の割合(%)

この辺の値に特に注意

top

システム全体の負荷を調べる

参考

load average:処理を待っているタスク

この値が大きいからといってそく、CPUの性能が劣るというわけではない

average: 0.00, 0.00, 0.00

で値が並んでいて左から1分 5分 15分となっている

左が大きければ直近の数分間に急に負荷がかかったということ

これでどういった負荷がかかっているかおおよそのあたりをつけて、sarで過去のパフォーマンスデータを確認する

sar

 sar -s 11:00:00 -e 12:00:00

のように時間を指定したりして過去ログをみることができる

%user上昇

httpdやmysqlなどの特定アプリケーションでCPUが消費されている

psコマンド等で対象のアプリケーションを確認

%system上昇

コンテキストスイッチが頻発している

httpdへのアクセス集中が発生していないか等を確認

%iowait上昇

メモリ不足でswapアウトしている

コピー処理などの大きなディスクIOが発生している

プロセスの確認や、メモリ状況を調べる。

株式会社アクシスでは一緒に働く仲間を募集しています
3 いいね!
3 いいね!
今週のランキング