ここで紹介した以外に、さまざまなdaemontoolsが使用可能です。そのうち、頻繁に使用されるものには次のものがあります。
前述のように、multilogのロギングではTAI64N形式のタイムスタンプを利用します。これを、人間が日常使用している形式で表示させるのに使います。ログを確認する際は、毎回のように使用することになる大事なコマンドです。
# tai64nlocal <
TAI64N形式で記録されたログファイル |
@400000003ce2403d3677ea94
starting delivery 3: msg 257198 to local example.jp-user1@example.jp |
変換前(TAI64N形式) |
2002-05-15 20:02:11.913828500
starting delivery 3: msg 257198 to local example.jp-user1@example.jp |
変換後 |
daemontoolsのメリットの1つである「起動するデーモンごとにlimitをかけられる。これによってメモリ使用量やユーザー権限を制限できる」を実現するためのものです。/serviceディレクトリにシンボリックリンクを張ったサービス定義ディレクトリ内のrunスクリプトに記述します。次のスクリプトは、プロセスの同時起動数を10に制限しています。
#!/bin/sh |
制限を加えた/var/qmail/services/pop3d/run |
そのほかにも、softlimitのオプションには次のものがあります。
-d n | プロセス当たりのデータ・セグメントをn bytesに制限する |
---|---|
-s n | プロセス当たりのスタック・セグメントをn bytesに制限する |
-l n | プロセス当たりのロックされた物理ページをn bytesに制限する。OSによっては、このオプションは無効になる |
-a n | プロセス当たりのすべてのセグメントの総量をn bytesに制限する。OSによっては、このオプションは無効になる |
-o n | プロセス当たりの開いているファイル記述子の数をnに制限する。OSによっては、このオプションは無効になる |
-m n | 「-d n -s n -l n -a n」と同等 |
-p n | UID当たりのプロセス数をnに制限する |
-f n | 出力するファイルのサイズをn bytesに制限する |
-c n | coreのファイルサイズをn bytesに制限する |
メモリ使用量制御オプション |
-r n | 常駐設定サイズをn bytesに制限する。この制限は物理メモリがいっぱいでない限り強要されない |
---|---|
-t n | CPU時間をn秒に制限する。この制限は、プロセスがn秒後にSIGXCPUシグナルを受けることがなければ強要されない |
効率オプション |
D. J. Bernstein氏が提供するパッケージは、makeなどのコンパイル作業は難なく終わらせられるものの、その後の設定ファイルのコンフィグレーション、特に各スクリプトの作成でへきえきしてしまう人も少なくないと思います。しかし、ここで紹介したように、1つ1つの作業は非常に単純で、コマンドへの引数でプロセスの挙動を制御する方法に至っては、大変直感的で分かりやすいものです。
インストール先に/usr/localを使用していなかったり、/etcディレクトリに設定ファイルを保存しないなど、ソースからのインストールを得意にしている方には引っ掛かるものがあるかと思いますが、導入する価値は大いにあります。ぜひお試しください。
次回は、収集したログを分析してレポートをまとめるツールを紹介します。稼働状況をデイリーレポートで受け取ることはもちろん、グラフイメージを作成し、視覚を通して直感的に状況を訴求するようなツールも導入してみましょう。
Copyright © ITmedia, Inc. All Rights Reserved.