Information
日記
G-ZONEのメインコンテンツとは関係のない日々を綴ったX-Virusの日記です。メインコンテンツが更新されていない時、X-Virus が何をしているか、ここを読んでもらえれば分かるように・・・というより、自分が何をしようと目論んでいるかといった備忘録として使う予定です。
-- 2006-03-22
昨日、G-ZONE にアクセスできなかった方もいたに違いない。その方には申し訳ないことをした。昨日は一日中、新しいプログラムのテストをしていた。そのプログラムが、意外なほど曲者だった。
お気楽にPerlを使って作成しプログラムが、CPUを占有してしまうとは予想しなかった。Perlプログラムは、起動時にコンパイルされ最適化される。この最適化が仇となって、CPUパワーとメモリリソースを食いつぶして、他のサービスが動作しなくなった。不思議なことにこのプログラムの優先度を下げると、サービスが動作できなくなるほどリソースを消費する。最悪なのは、システム停止状態に追い込まれることが分かった。かなり危険なプログラムだ。
Perlのプログラムはデチューンできるのだろうか。ネット上のTipでは、皆、スピードを追求したチューニングテクニックしか無い。Perlのリファレンスを開いても見つけられなかった。ディスクアクセスでリソースを食いつぶすようなので、ここをDBMを使うようにしてみた。結果は、かなり良くなった。速度もそんなに違わない上、リソースの消費は抑えられている。しかしプログラムの優先度を下げると、サービスが動作できなくなるほどリソースを消費する点はあまり変わらない。優先度が標準値なら、CPUパワーを使うがリソースの消費が抑えられサービスの動作も遅くなるもののできるようなので、このプログラムで運用することにした。