一歩先を行くtopコマンドの使い方と高機能なhtopのご紹介 Linux | ITオフィスサポートとシステム開発|システムガーディアン AWSクラウド導入|東京都中央区八丁堀

ITサポート出張、ITシステム開発・保守をワンストップで|AWSクラウド|東京都中央区八丁堀

ITオフィスサポートとシステム開発|システムガーディアン AWSクラウド導入|東京都中央区八丁堀

電話でのお問い合わせ

一歩先を行くtopコマンドの使い方と高機能なhtopのご紹介 Linux

      2015/09/03

nginx アクセス負荷 wordpress

障害解決の為のコマンド

サーバが何かおかしい、そんな時にはまずtopコマンドでボトルネックを見つけることが出来ます。怪しいプロセスを見つけたらそのサービスのエラーログやクエリなどの遅延ログを表示させて原因を特定する、見当をつけながら論理的に原因解決まで淡々と行っていきます。

世界の頂点から天地創造(プロセス)を見下ろすコマンド


topである!

 

サーバーが重いってどんな状態?

実行したいプロセスがなかなか処理が始まらない、終わらないそんな状態。WEBサイトでいうなら、ページがなかなか切り替わらない。上から下まで読み込みが遅く表示されないっていう状態がわかり易いはず。タイムアウトされてしまう。

 

topで俯瞰するように原因を探ろう。更に細部を深く知りたいなら、sariostatなどキャパシティプランニング用のコマンドは用意されている。

ステータス解説

初めて見るとなんのこっちゃ!?ってものばかりですので、説明を書いておきます。

 

1行目

01:18:06 現在の時間
load average 0.58 0.92 1.05 1分 5分 15分の待機プロセスの平均

重要ポイント(ㆁᴗㆁ✿)

ロードアベレージは1以下にしよう。1以下なら滞りなく、軽快にパフォーマンスを出せています。もし常に1以上だったならチューニングの必要性あり!

 

ロードアベレージ 1~3

黄色信号。このあたりで重さを感じ出します。軽微なチューニングでストンッと0.3-0.5あたりに落ちる場合も多い。

ロードアベレージ 4以上

どこかに致命的なエラーが起こっている可能性大。遅延原因となるサービスを探し出し、直ちにエラーログのチェックだ!サーバーのチューニングミス、プログラム上の設計ミスの場合がある。

ロードアベレージ 30以上

「WEBサーバーが重くて運営できません!助けて下さい」と飛び込みのご相談を頂く場合はこの状態が殆ど。ログを見ればエラーの嵐。エラーが出ている状態のサーバーをお客さんに納品するのはやめよう。

 

 

2行目

Tasks 211 total 1running 210 sleeping 0 stopped 0 zombie
タスクの合計は211で1つ走っており、210は休眠状態である。
停止中のタスクはなく、ゾンビプロセスもない。

 

 

3行目

Cpu(s)
%us, ユーザプロセスの使用時間の割合
%sy,  システム(カーネル)プロセスの使用時間の割合
%ni,  実行優先度を変更したプロセス使用時間の割合
%id, アイドル(待機)状態の使用時間の割合
%wa, CPUがディスクI/Oの終了待ちをしていた時間の割合
%hi, ハードウェア割り込み要求での使用時間の割合
%si, ソフトウェア割り込み要求での使用時間の割合
%st OS仮想化利用時に他のCPUの計算に待たされた割合

 

重要ポイント(ㆁᴗㆁ✿)

%usが高い

問題となる原因のユーザプロセスを探します。あまり%usに負荷がないのに重い場合はロードアベレージが異常になっている場合あり。問題となるプロセスを探し出すこと。

 

%waが高い

I/Oでのボトルネック。具体的にはステータスがDの割り込み不可の待機プロセスが怪しい。0.0%~0.1%が望ましい。

 

重要(ㆁᴗㆁ✿)

SSDに変更するとあっさり解決したりする。

 

4行目

Mem :
メモリの総容量  使用中のメモリ  未使用のメモリ バッファに使用されているメモリ容量

 

5行目

Swap :
スワップの総容量 使用中のメモリ 未使用のスワップ キャッシュされているスワップ容量

重要(ㆁᴗㆁ✿)

スワップはほぼ使ってはいけない。使いすぎるとサーバーが落ちます。異常なプロセスはないか、スペックは適切なのか要確認。

 

6行目

PID プロセスID
USER ユーザ名
PR プロセスの静的優先度(数字が低い程優先度は高い)
NI プロセスの相対的優先度(相対的優先度)-20(最高)~19(最低)

VIRT プロセスが使用している仮想メモリサイズ(スワップアウトされたメモリ使用量を加えたサイズ)
RES プロセスが使用している物理メモリサイズ
SHR プロセスが使用している共有メモリサイズ

 

1プロセスあたりのメモリ量 = RES – SHR

 

S ステータス

S スリープ

T 停止中

D 割り込み要求不可
R 実行中
Z ゾンビー

W スワップアウト

 

%CPU CPU使用率
%MEM メモリ使用率
TIME+プロセス実行時間
COMMAND プロセスが実行されているコマンド

 

ゾンビプロセス

 

実行終了中のプロセスをゾンビ・プロセスといいます。プロセスの処理は既に終了し,メモリーなどの資源(リソース)はすべて解放されています。ただし, プロセスが使用したメモリー領域やファイル,ソケット,シグナルなどの情報を管理するtask_struct構造体だけが存在しています。この task_struct構造体が削除されると,プロセスが消滅し,その実行が完了します。

 

@see http://itpro.nikkeibp.co.jp/article/Keyword/20070727/278487/

よく使うオプション

topコマンド表示中に入力すると様々なオプションで表示出来ます。

1

top cpu 表示

各CPUへの負担割合を表示

Shift + p

 

top cpu使用率ソート表示

CPUの使用率でソート

 

Shift + m

メモリの使用率でソート

 

c

top c  オプション プロセスのコマンド表示

プロセスが実行されているコマンドを表示

グラフィカルで高性能なhtop

 

htop linux

 

 

未体験の方は使ってみると面白いのではないでしょうか。全体としてtopとは違いグラフィカルでわかり易い。CPUの負荷がグラフで見えて、プロセスもツリー表示が出来たりカスタマイズ出来て使い勝手がいいです。私はtopですっかり慣れてしまっているのでtopを使ってます。

 

結局どちらを使えばいいのか?

ずばり、好みである

身も蓋もないですよね。どっちでも目的のリソース監視は行えるからです。ただtopよりhtopの方が直感的に使えてとっつきやすいと考えられますので、キャパシティプランニングの入門として触れるならわかりやすくて親切かもしれない。更にですよ、htopはマウス対応!どえらい奴です。(Windowsサーバー管理者にしか響きそうにないな・・・。)

htop最大のポイント

上位を表示させるtopと違い、↓ボタンで全てのプロセスを確認出来るところ。topにも導入してくれないかなー٩(๑❛ᴗ❛๑)۶

t

 

htop t tree表示

htop表示中にtを入力するとプロセスツリー表示になり、具合がいい。

 

/検索対象文字列

/httpd
などと入力するとプロセスを検索してくれます。

 

優 ( エンジニア )
システムガーディアン爆弾処理班
アクセス負荷対策などNginxへの移行案件が多いこの頃
東京は花火大会から盆踊りの季節へ(◍•ᴗ•◍)

 - Linux/UNIX, スタッフ別, テクニカル,

  関連記事

HDD イメージバックアップ
イメージバックアップいろいろ

目次1 イメージバックアップ2 Windows7の機能を使ったバックアップ3 Easeus Todo Backup 無料4 Paragon 無料5 AOMEI …

ひったくり スリ 防犯
これからの時期、気を付けたい「ひったくりや「スリ」の自衛策

目次1 0.はじめに2 1.ひったくりには抵抗しない3 2.ひったくりに対する自衛策4  3.スリ対策5 4.街(路上)での安全対策6 防犯カメラシステムならセ …

squid firewall
Squidとルーターで規制のあるネットワークを作る

※正確にはルーターではなくファイアウォール(Firewall)ですが ルーター製品には大抵ファイアウォール機能がついています。 目次1 規制とか嫌いです、もっと …

thinkpad はこうして生まれた
ThinkPadはこうして生まれた。

こんにちは。カトーです。都内はいつ梅雨明けでしょうか?どうもジメジメした天気だと気分も落ち込みます。   それはそうと、先日秋葉原のブックオフで「Th …

apache_webdir_s
WEBユーザー公開設定・独自ドメイン設定

目次1 WEBユーザディレクトリ2 それではやってみよう!٩(๑❛ᴗ❛๑)3 Apacheメイン設定ファイル編集4 しかし・・問題が!!5 どうしようもないの? …

GMO VPS
GMO VPS クラウド IMAP メール設定

お世話になります。加藤です。 先日から諸々のサーバ移動の作業を夜間に行っています。 GMO VPS PLESKでIMAP設定で少し躓いたので、技術的に書いておき …

aws_logo
AWS EC2とRDSを使ってWordPressをインストール

WEB系でブームなクラウドであるAWSを使って大人気CMSのWordPressサイトをインストールしましょう٩(๑❛ᴗ❛๑)۶   ※EC2とRDSの …

HTTPS 方法
HTTPS化対応 SEOでのGoogle評価引き継ぎの方法

検索やコンバージョンに力を入れたいならば、まずはコーポレイトサイトはSSL対応しましょう。メリットばかりなので、是非対応されると良いかと。今回はHTTPS化移行 …

ビリヤード
茅場町 プールバー「BAR POLARIS 」

お世話になります。加藤です。シルバーウィークも終わり皆様は休めたでしょうか?弊社も19日にセキュリティカンファレンスを開催後、21~23日までお休みを頂きました …

yamaha rtxルーター
YAMAHA RTX1200/1210ルーター 入門

お世話になっております。システムガーディアン加藤です。 昨年末にYamahaのRTX1200シリーズの後継RTX1210が発売されたから約1年が経過しました。ど …

トップページ