PSMonは、プロセスを確実に動作させ、そのプロセスの実行中に使用するCPUやRAMなどのリソース量とインスタンス数を監視するユーティリティーだ。指定されたプロセスが上限を超えてリソースを使おうとするとそのプロセスは強制終了させられ、クラッシュしたプロセスは再起動される。
PSMonは、Fedora 9、Ubuntu Hardy、OpenSUSE 11のいずれのリポジトリーにも含まれておらず、PSMonのtarballを展開してインストールする。PSMonの実行には、このほか、いくつかのPerlモジュールが必要だ。これらのモジュールはmanualページにある説明に従って手作業でCPANからインストールする。なお、PSMonのtarball内にあるsupportサブディレクトリーには、所要のインストール作業を行うスクリプトinstall.shが用意されている。
このスクリプトでインストールすればPSMonの実行に必要なPerlモジュールもインストールされるが、お使いのディストリビューションのパッケージ・リポジトリーからこれらのモジュールあらかじめ入手しておいてもよい。この方法には、Linuxディストリビューションの通常の更新でモジュールを最新状態に保てるという利点がある。以下に、必要なモジュールをインストールしてからインストール・スクリプトを使ってPSMonプログラムをインストールする手順を示す。
# yum install perl-CPAN perl-YAML # yum install perl-Config-General perl-Proc-ProcessTable perl-Unix-Syslog # tar xjf psmon-1.29.tar.bz2 # cd psmon* # ./support/install.sh Checking for Config::General ... found Checking for Proc::ProcessTable ... found Checking for Unix::Syslog ... found Checking for Getopt::Long ... found Installing psmon ... done Installing psmon-config ... done Installing etc/psmon.conf ... done Generating HTML documentation support/psmon.html ... done Installing manual psmon.1 ... done
このスクリプトは構成ファイルも作ってくれる。構成ファイルの構文はApacheに似せて設計されており、キーワード(ディレクティブ)と値の対という形で記述する。最上位レベルでは全般に関する設定を、Processグループでは各プロセスに関する設定を記述する。「Process *」という特別なグループを使うとすべてのプロセスに適用する設定を記述することができるが、意図しないプロセスまで多数強制終了させてしまいかねないので使わない方がよい。
