milterを使った効果的な迷惑メール対策 - milter manager

2009|04|05|06|07|08|09|10|11|
2010|03|05|08|
2011|01|06|11|
タグ:

    clamav-milterは単体でも動く

    注: 0.94までの話です。

    ClamAVはわりとメモリを使うため、clamdやclamav-milterプロセスが50MBから100MBくらいのメモリを使うことは珍しくありません。しかし、ClamAVがメモリをたくさん使うからといって、clamdが100MB、clamav-milterが100MB、ClamAVだけで200MBもメモリを使うなんて…と思っていけません。

    そのような使い方はもったいない使い方です。

    よくある誤解

    clamav-milterは2つの動作モードがあります。

    1つめはclamdに接続し、ウィルスチェックはclamdが行うモードです。ウィルスチェックはclamdが行うので、clamav-milterは数MB程度のメモリで動作します。多くの場合、この動作を期待していると思います。

    2つめはclamav-milterが自分でウィルスチェックを行うモードで、clamdが動作している必要はありません。明示的に--externalオプションを指定しない場合はこのモードです。つまり、デフォルトではclamav-milter単体で動作するモードということです。

    多くの場合はclamdも必要だと思っているため、clamdもclamav-milterも起動してしまうと思います。しかし、そのときにclamav-milterに--externalを指定していないと、clamdもclamav-milterもウィルスチェックを行う準備をするため、両方のプロセスが100MB程度のメモリを使用することになってしまいます。

    この場合は、clamdはまるで働かないので、単にメモリを消費しているだけになります。--externalオプションをつけないでclamav-milterを使う場合はclamdは起動しないようにして、無駄なメモリを使わないようにしましょう。

    最近のclamav-milter

    2009年3月にリリースされたClamAV 0.95からclamav-milterの実装が一新され、常にclamdに接続するようになっています。そのため、0.95以降が使われるようになれば、上記のようなもったいない使い方はなくなるでしょう。

    0.95のclamav-milterは接続するclamdを複数指定することができます。この機能により、あるclamdが落ちていても自動で別のclamdに接続するため、障害に強いシステムを構築できます。

    ただし、0.95のclamav-milterはまだいくつか問題が残っているようなので、次のリリースまでもう少し様子をみた方がよいかもしれません。(リポジトリ上では問題は修正されています。)

    まとめ

    0.95以降では、clamd + clamav-milterの構成になっています。 0.94までのclamav-milterを使っている時は、--externalオプションをつけることにより、この構成になります。将来的に0.95以降へのバージョンアップを考えているのなら、0.94までのclamav-milterを使用している場合でも、0.95以降の構成で運用するとよいのではないでしょうか。

    2009-04-04

    2009|04|05|06|07|08|09|10|11|
    2010|03|05|08|
    2011|01|06|11|