![]() |
||
|
|
||
| *講義内容
サーバ導入に関しての考察とレンタルサーバホスティングとの比較 How to
PC-Unix(Linux) システム拡張編 第九教程 |
■サーバ管理の為の基本コマンドと各種ログ その1
ユーザーやグループを登録するコマンドも管理用のコマンドですが、ここではサーバの状態(サーバステータス)を監視するコマンドやネットワークの状態(ネットワークステータス)を監視するコマンドに付いて説明します。説明中にプロセスなどの用語が出てまいりますので、先にサーバ起動に伴うプログラムの起動とそれらに関係する事柄を簡単に説明致します。 サーバの電源を入れますと、ハードディスク(HDD)からLinuxOSであるカーネルが読み込まれメモリー上に展開します。真っ黒画面に白文字でなにやらアルファベットの文字がズラズラと流れていくあの時にカーネルを読み込み初期化もしていたのです。続けてカーネルはシステム内からinitプログラムを呼び出し起動させ、今までこの講座で設定してきた様様なサーバプログラム群をメモリー上に展開させます。 (initの設定ファイルは/etc/inittabです。サーバの起動形式(ランレベル)などもこの設定ファイルに従います、ワークステーション用のXウインドウから立ち上がるランレベル5やサーバ用のテキスト表示のランレベル3などもこの/etc/inittabを編集します。) named・・・・・・・・・・・・・・・・[ OK ] sendmail・・・・・・・・・・・・・・[ OK ] httpd・・・・・・・・・・・・・・・・・[ OK ] OK・・OK・・・OKと(緑色の文字)それぞれのサーバプログラムがHDDから呼び出されて一斉にメモリー上に展開して戦闘配置につきます。 このサーバプログラムのことをデーモンと呼んでいます(○=Daemon[守護神]、×=Demon[悪魔])。 そしてこのデーモンやサーバで一番最初に起動するinitプログラムなどをプロセスと呼んでいます。さて、このデーモンはそれぞれ決められたポートと呼ばれる扉を見張っています。誰かがこの扉をノックすると、 いそいで目を覚ましサービスを開始します。例えば、WEBサーバアパッチのhttpdはポートの80番、名前解決のBINDサーバのnamedなら53番、 電子メールのsendmailなら25番とあらかじめポート番号が決められています。(因みに名前の最後にdの付くものが多いのですが、 dはデーモンのことを指します。)さて、決められたポートを常に監視し「叩けよ、さらば開かれん!」となりますが、デーモンは扉監視の親プロセスとなり実際のサービス提供は子プロセスを必要な数だけ生みだし(起動させて)応対するのです。ちょうど孫悟空の分身の術みたいですね! デーモンはサーバ起動時にinitにより呼び出されメモリ上に常駐展開すると説明しましたが、 多くのデーモンをメモリー上に常に展開しておくのは資源(リソースと言います)の無駄使いです。 そこで、ユーザーからの呼び出し頻度の少ないものは、呼び出されてから起動させるようにしてサーバ資源を節約しようと考えたのです。 ナイスアイデアですね!しかし、デーモンプロセスは常に決められたポートを監視し、そのポートにアクセスがあると直ちに決められた手順でサービスを提供しだす事になっています。そこで問題のポートの監視役を誰か代表者の一人に任せて、後はその代表監視者からの呼び出しがあるまでHDDで待機する事にしたのです。その代表監視者がxinetedだったのです。サーバプログラムの親玉ですのでスーパーサーバなどと呼ばれます。このxinetedがFTPサーバのvs-ftpd(21番ポート)や電子メールのPOPサーバipop3d(110番ポート)などの代わりにそれぞれのポートを見張っていて、誰かがそのポートにアクセスするとそのプロセスを起動させていたのです。FTPやPOPサーバの設定内容を反映させる為に、xinetedを再起動させていたのは、この為だったのです。 (ユーザーの手によりシェルから起動されたプロセスも沢山あります。これらのシェルから起動されたプロセスのことをジョブと言います。皆さんがシェルプロンプトから打ち込んでいたコマンドなどがジョブの典型です。ジョブは一つのプロセスを起動するばかりでなく、幾つものプロセスを起動させる場合もあります。) 《補足 ランレベルの変更》 インストール時にうっかりランレベルをワークステーション用のXウインドウ起動に設定したままの人は、/etc/inittabを編集して下さい。Xウインドウから立ち上がる人は下記赤線部分が5になっているので例のように3に変更して下さい、再起動後はランレベル3のテキストモードになります。
プロセスなどの簡単な説明が終わったところで、早速起動中プロセスなどが解るコマンドから説明致します。 ■topコマンド さまざまなシステム状況(CPU使用率、メモリー使用率、プロセスなど)をリアルタイム表示し、システム上でもっともリソースを消費しているプロセス順に表示します(5秒ごとに自動的に更新されます)。 *コマンドの終了:[ q ]キーを押すと終了します。 #top
【システム情報】 @は、現在時刻、稼働時間、ログインユーザー数、ロードアベレージ。 ロードアベレージは、左から順に1分、5分、15分前のシステムのロードアベレージ=実行順番待ちジョブの平均数で、CPUの個数(1CPUの場合はこの数字が1)以上の数字になると処理が重くなります。高負荷状態にある訳です。常にこの数字がCPU数を上回るようですと、何らかの改善策が必要ですね。 この@部分は、#uptimeコマンドと同じものです。 #uptime
A各プロセス合計、待機中プロセス、稼動中プロセス、ゾンビプロセス、停止プロセスの数。(ゾンビプロセス=親プロセスから生まれた子プロセスが終了したにも関わらず親プロセスがまだその終了確認をできない場合、子プロセス終了以前に親プロセスを終了させてしまったなどの場合に発生する恐ろしい怪物のこと) B左からユーザー、システム、nice、アイドルに費やされたCPUの時間を%表示。(niceとは、各プロセスの実行優先度のことで、ここではユーザー・システムの両方が合算されます) C左から全メモリ容量、使用中メモリ容量、空きメモリ容量、共有メモリ容量、バッファメモリ容量、キャッシュメモリ容量(←下に表示)。(バッファはデータの相互取次所でキャッシュはデータの一時預かり所のことです。) D左から設定されている全スワップ領域の容量、使用中、空きの順で表示。 *メモリーを消費し尽くして、スワップを常時使用するような状況では、早急にメモリの増設を図らねばなりません。 C+Dは#freeコマンドと同じです。 #free -m (−mオプションは表示を解りやすいMB単位にします)
【プロセス情報】注以下緑枠部分の説明
#ps aux (オプションのaは制御端末のあるプロセスを表示、uはユーザ名と開始時刻表示xは制御端末の無いプロセス(=カーネルなど)も表示)
上記以外に、プロセス、メモリ、スワップ、入出力、システム、CPUの各情報の統計を表示する#vmstatコマンドもあります。システム起動時からコマンド実行時までの平均値を表示しますので、TOPコマンドの現在値表示とは反対にサーバの平均的な状態を観察するのに便利なコマンドです。 #vmstat
■df (=disk free) HDD上の各パーティーション情報を表示します。 #df -m (-mオプションはメガバイト単位で表示します)
■du (=disk use) ファイルシステム上の各ディレクトリごとの使用量情報を表示します。 #du -sm /home/admin(-smオプションはsが総合計、mはMB=メガバイトのこと)
ネットワークの状態を監視するコマンドと各種ログの説明に続く・・・・・・・ |
|||||||||||||||||||||||||||||||||||||||||||||
|
|
||
| 「UNIX」はX/Open Co.,Ltd.社の独占ライセンスで米国及びその他の国での登録商標です。 「Linux」は、Linus Torvalds 氏の米国及びその他の国における登録商標です。 「Red Hat」、Red Hat「Shadow Man」ロゴおよび Red Hat をベースとしたすべての商標とロゴは、米国およびその他の国における Red Hat, Inc. 社の商標または登録商標です。 その他のプログラム名、システム名、CPU名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。 |
||
|
|
||
| ここで提供する情報に関して、閲覧者の環境で同様の結果が得られることを保証するものではありません。 また掲載している内容については、豪Corporationが一切保証するものではありません。 |
||
|