・VMware Server(続々)
とりあえず VMware Server が一段落したので一泊二日の東京出張に行ったのだ けど,東京に着いた昨日の夕方ごろから PHS に spam の嵐が..
普段はメールサーバから fetchmail で手元に取りこんで,procmail を経由し て bogofilter をかけてフィルタリングし,通ったメールのみ PHS に転送する ような設定にしているのだけど,どうも bogofilter が機能せずに spam が直 接 PHS に転送されている感じ.
あれれ,と思って,ホテルからメール読み書きに使っているマシンにログイン しようとしたけど ssh はつながるものの shell が起動できずに接続を切られ てしまう気配.
おかげで東京では PHS に届いた spam を消す作業に追われてしまったけど,今 日,家に帰ってマシンを確認してみると,コンソールからは問題なく動くのに, リモートからはログインできない謎の状態.
dmesg なり /var/log/messages なり /var/log/security には特に異常を示す ログは残ってないので,さて何が悪いんだろう..と再起動を覚悟して,この マシンで動かしていた VMware の環境をまずシャットダウン.
その際にふと気がついて,VMware-server からこのホストで使うメモリの使用 量を減らして起動してみると,リモートのログインも bogofilter も問題なく 動作するようになった模様.どうやら VMware-Server (今回はクライアント側 だけど)は,パフォーマンスを向上するために動かすホストであらかじめ設定し たメモリを完全に取ってしまって,他のプロセスには譲らないみたい.
VMware を動かしているマシンは 1G のメモリを積んでいて,デフォルトの設定 では883MBのメモリをVMware に割り当てるようになっていたのだけど,free と かで見る限り,本来は(buffer/cache に割りあてられて)回収可能なはずのメモ リが回収できないため実メモリが枯渇して新しいシェルなり bogofilter なり が動かなかったことが原因らしい.
今は VMware 用のメモリを 765MB にしているけど,free でメモリの状況を見ると
total used free shared buffers cached Mem: 1035692 1017844 17848 0 107312 676752 -/+ buffers/cache: 233780 801912 Swap: 88348 60 88288
こんな感じで,ほとんど目一杯な感じ.Linux の場合,buffers/cache に積極 的にメモリを割りあてるから,Mem の free が少なくても buffers/cache の free があれば大丈夫,と思っていたけど,VMware の場合,buffers/cache の free があってもシステム側には返さないのかも知れない.パフォーマンスを高 めるための工夫だとは思うけど,ちょっと近所迷惑な仕様かも。