ホーム » ブログ » Linuxサーバが重い時の原因を調査
このエントリーをはてなブックマークに追加
@2012/09/21
まず、topコマンドでLinuxサーバの重さを確認する。
例:
 top

top - 11:58:16 up 281 days,  9:25,  3 users,  load average: 1.40, 1.01, 0.93 
topコマンドを打ったら、いろいろな情報を表示するが、その中の「load average: 1.40, 1.01, 0.93」ような情報をご注目。左から順に1、5、15分間の実行待ちプロセスの平均数です。サーバが重いかをこの数字を見ればだいたいわかる。簡単に言えば、load averageの数字はCPU数より大きい場合、サーバは重いと認識してください。CPU数の確認コマンドは「cat /proc/cpuinfo | grep processor」です。筆者のtaobao.jpサーバでコマンドを打ったら、下記となります。
 [root@taobao ~]# cat /proc/cpuinfo | grep processor
processor       : 0
processor       : 1
processor       : 2
processor       : 3 
CPUが4つですね。load averageの3つの数字がいずれも4.0以下のため、サーバが軽いとわかりますね。
※サーバは軽いと判明したら、スループット(throughput: 単位時間あたりの処理能力)が低い場合、ソフトウェアの問題か、ネットワークが遅い可能性が高い。

もしもload averageの数字は大きい場合(例:taobaoサーバは数字4上回る)、CPUかI/Oが負荷の原因をお考えてください。
先ほどのtopコマンドでload averageの情報以外、そのたの情報もいろいろ表示しています。topコマンドの抜粋情報を見てください。
 Cpu(s): 50.7% us,  8.7% sy,  0.0% ni, 32.1% id,  8.4% wa,  0.0% hi,  0.1% si 
主にus、idとwaの値をご注目ください。 us(user):ユーザが実行しているプロセスの割合 id(idle): CPUが休んでいる割合 wa(wait): File I/Oの待ち割合 上記のusの割合が大きいとしたら、サーバ重い原因はCUPがボトルネックと考えてください。 idの割合大きい場合、CPUがあまり使ってない状態です。それでもサーバが重いなら、原因は別の場所となる。 waの割合大きい場合、I/O待ちをしているプロセスが多いと見える。これはディスクI/Oかネットワークがボトルネックになっている可能性が高い。 CPU負荷の高いプロセスを特定できます。Topコマンドを実行中に、大文字Pを押すと、負荷の高いプロセスを特定できる。%CPUの高い順に変わる。 サーバ重い原因がわかりましたら、対策を考えましょう。 対策1:負荷の高いプロセスの実行スケジューリング優先順位を下げる。Niceとreniceコマンドで優先順位を調整してください。 対策2:負荷の高いプロセスをkillコマンドで終了させる。 その他の対策は、CPUを高速なものに変更とか、サーバを増やして負荷分散する方法がいくつがあります。 どれがベスト対策とは言えません。ご自分のサーバが重い原因を究明した上で、どの対策にするかをしたほうがいいと思います。 以上、Linuxサーバが重いの原因とその時の対策をメモーを。

♪ 当記事がお役に立ちましたらシェアして頂ければ嬉しいです。
0人
このエントリーをはてなブックマークに追加


◎zanmai.netサイト記事の転載・複製(コピー)は、zanmai.netへのリンクであることを明記してください!
◎本記事URL: http://www.zanmai.net/blog/data/78.html

お名前:

 

EMAIL:

 

URL:

 

認証コード:

zanmai.net-safecode

 


※会員の方は認証コードを要らないから、新規登録をオススメ!

アーカイブ @zanmai.net
check