03:サーバ負荷の管理

SVシリーズには、物理サーバのリソースのフェア シェア (妥当な割り当て分) が割り当てられています。このような方法でリソースの割り当てを行うことによって、物理サーバ自体のパフォーマンスやその物理サーバ上に設定された別のSVサーバ のパフォーマンスが、1 つのSVサーバ の影響を受けないうようにしています。SVシリーズ の優れた性能を安定的に維持するためには、サーバの負荷を管理することが非常に重要です。

「負荷」は、以下のリソースを利用するときに生じます。
メモリ
CPU
開かれているファイル
プロセス
 
■SVサーバの負荷の確認
コマンド プロンプトに以下のように入力します。

% top
top コマンドを実行すると、以下の項目に関するホスト サーバの累積合計値と VPS2 の合計値が表示されます。
負荷の平均値
プロセスの数
CPU の使用量
メモリの使用量
 
■Top コマンドの実行例
top コマンドを実行すると、以下のようなデータが出力されます。

last pid: 89301; load averages: 0.06, 0.02, 0.00 up 14+03:11:06 08:02:06
12 processes: 1 running, 11 sleeping
CPU states: 34.6% user, 0.0% nice, 15.2% system, 0.8% interrupt, 49.4% idle
Mem: 325M Active, 52M Inact, 94M Wired, 12M Cache, 59M Buf, 7720K Free
Swap: 512M Total, 69M Used, 443M Free, 13% Inuse
PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND
89218 trout 28 0 1396K 1000K RUN 0:01 0.89% 0.73% top
3863 trout 18 0 2156K 392K pause 0:01 0.00% 0.00% httpsd
95617 trout 2 0 2212K 932K accept 0:00 0.00% 0.00% httpsd
92567 trout 2 0 2212K 936K accept 0:00 0.00% 0.00% httpsd
14464 trout 2 0 2212K 936K accept 0:00 0.00% 0.00% httpsd
89179 trout 18 0 1312K 824K pause 0:00 0.00% 0.00% tcsh
以下の表を使って、top ファイルの用語を説明します。
用語 説明
PID プロセス ID 番号を表します。プログラムごとに固有の PID が設定されています。
USERNAME プロセスを実行しているユーザを表します。
PRI 優先度を表します。優先度はプロセスによって異なります。別のプロセスからの情報を待つ必要があるプロセスもあります。カーネルがプロセスの優先度を決定するときに、この優先度が使われます。
NICE プログラムの「やさしさ」を表します。0 から 20 までの値を設定できます。たとえば、NICE を 10 に設定すると、ほかのプログラムが先に実行されるケースが多くなります。基本的には、カーネルによる優先度の決定方法を変更するためのものです。
SIZE プロセスの合計サイズを表します。メモリの使用量とプログラムの実際のサイズも含まれます。
RES 実際に使われているリソースの量 (通常はメモリ) を表します。たいていの場合は SIZE よりも少なくなります。現在実際に使われているメモリの量を確認できます。
STATE プロセスの状態を表します。状態は、待機 (sleeping)、実行中 (running)、またはポーリング中 (polling、入力条件が満たされているかどうかを確認中) のいずれかで表されます。
TIME プロセスが使用したプロセス時間の合計を表します。
WCPU CPU の使用待ちプロセスの中で、該当するプロセスがどれだけの割合を占めているかを表します(詳細については、top man ページを参照してください)。
CPU プロセスが使用している CPU 時間をパーセントで表したものです。
COMMAND 実行中のプログラムを表します。
top の実行時には、ほかにもさまざまなタスクを実行できます。実行できるタスクについては、このあと説明します。
一覧に表示されるプロセスの数を増やす
top の実行中に n を押したあと、表示したいプロセスの数を入力します。
■プロセスの終了
プロセスがハングした場合やリソースを異常に使用している場合以外は、プロセスを終了しないでください。
top の実行中に、 k を押します。
プロセス ID (PID) を入力します。
左の列に PID が保存されます。複数のプロセスを終了するには、各 PID 番号をスペースで区切って、1 行で記述します。
■メモリとプロセス
プロセスとは、実行中 (running)、スリープ中 (sleeping)、待機中 (waiting) のいずれかの状態にあるプログラムのことを指します。たとえば、Web サーバに対してアクセスが行われると、HTTPSD によってプロセスが使われます。実行中のプログラムが割当量を超えてメモリを使うと、VPS2 を完全にシャットダウンします。
■プロセスの確認
コマンドプロンプトで以下のコマンドを実行します。

% ps

POP で始まるプロセスを確認したい場合は、以下のように入力します。

% ps -ax | grep pop

プロセスを終了する場合は、以下のように入力します。

% kill pid_number