[ 先頭 | 上へ | 前へ | 次へ | 目次 | 索引 ]

Analog 5.91beta1: メモリの少ない環境での動作


この章では、Analog をメモリが少ない環境で動作させる際の方法について説明します。 通常の環境で以下で説明する方法を行なうと、Analog の動作が多少遅くなります。しかし、Analog を動作させるとメモリ不足になってしまうような環境では処理が非常に遅くなってしまいますので、巨大なログファイルに対して、以下で説明する方法を使うことで、Analog の処理速度を早くしたり、今まで解析できなかったログファイルの解析を可能にしたりすることが可能になります。

まず、ある項目が読み込まれた時にどういう処理が行なわれるかについて復習しておきましょう。最初に、エイリアス(置換) が行なわれます。続いて、その項目が 包含されているか、除外されているか が確認されます。最後に、項目がカウント対象であれば、1つのリクエストとして計算対象に加えられます。

通常、各項目の名前はエイリアスが行なわれる前に保存されます。これにより、Analog は同じ名前の項目が現われた際に、二重にエイリアスを行なってしまうのを防ぎます。しかし、これは非常に大量のメモリを消費してしまいます。こうした状況に対応するために、LOWMEM系のコマンドが用意されています。このコマンドにより、Analog はこうした名前を後の段階で記録するようにするか、全く記録しなくなります。 これらのコマンドを使う場合、Analog は通常よりも多くの作業を行なう必要がありますが、使うメモリの量は少なくなります。多くのサイトではホストの一覧に多くのメモリが使われるため、以下HOSTLOWMEM コマンドを例にとって説明します。

以下のコマンド

HOSTLOWMEM 0
は、通常の動作を指定します。つまりホスト名はエイリアスの前の時点で記録されます。
HOSTLOWMEM 1
を指定すると、ホスト名はエイリアスされるまで記録されません。
HOSTLOWMEM 2
を指定すると、ホスト名は、包含と除外処理が行なわれるまで記録されません。 最後に、
HOSTLOWMEM 3
を指定すると、ホスト名は全く記録されず、ホストレポートは、たとえ指定されていても、生成されません。(ドメインレポートは生成されます) 他の項目に対するLOWMEM 系コマンドの一覧を以下に示します: FILELOWMEMBROWLOWMEMREFLOWMEMUSERLOWMEMVHOSTLOWMEM
Analog の実行中にメモリ不足になった場合は、どのようにすればよいでしょうか? 最初にログファイルをみて、どの項目がメモリを多く消費したかを確認してください。 一時的に生成したファイルなどのため、多数のファイル名がある場合は、FILELOWMEM コマンドを使ってみるとよいでしょう。また、FILEALIAS コマンドにより、同じようなファイル名を一つにまとめたうえで、FILELOWMEM 1 コマンドを使うこともできるかも知れません (search argument のために多数のファイル名が生成されている場合は、ARGSEXCLUDE を使うことで、LOWMEM コマンドを使わずに問題が解決できるかも知れません)。 しかし、多くの場合、問題を引き起こすのはホスト名のようです。特定ホストからのリクエストを解析したいだけであれば、HOSTLOWMEM 2 を記述することで、その他のホストを記録せずに除外することができます。除外したいホストがないが、すべてのホスト名を記録するほどのメモリがないという場合は、HOSTLOWMEM 3 を使うのがよいでしょう。
Analog ホームページ

Stephen Turner
23 August 2003

Analog についての質問はanalog-help メーリングリスト をお使いください。 (訳注: 日本では analog-jp メーリングリスト をご利用ください)

[ 先頭 | 上へ | 前へ | 次へ | 目次 | 索引 ]