CPU@高負荷対策

いつもカラスの行水ですが、我慢して長めに
湯船に浸かってから寝たせいか、起きると
どこも痛くないのがラッキーでした。
歳を取ると筋肉痛は時間をおいてやってくる。。
明日か!?w
データー整理など1日中パソの前でしたが
これはこれで疲れます。@現場人間

まだ続いてます@チュニング

CPUで高負荷となっていたmysqlと
clamd の対策を行いました。

mysqlはCPU4スレッドのうちの1つの
5〜60%位を常時使っていました。

mysql> show full processlist;
で覗くと、wp_pvs_counterが頻繁に
updatingするqueryを出しまくってます。
これを元に調べると、プラグインの中に
内部でアクセス状況をチェックするのに使ってた
post-views-stats-counter というのがあり
構成ファイルにwp_pvscounterという
PHPファイルがありました。
こいつですね。
このプラグインを外してwebサーバーを
再起動したら見事mysqlのリソース喰いは
収まってくれました。
この手のプラグインは他にもたくさんあるので
こだわらずに、リソース消費の少ないやつを
選択するだけです。

clamdは1スレッドを100%使い切ってます。
4スレなら25%前後なのでちょうど1スレ分です。
システムを再起動したら収まるのですが、一度
clamscanでVirusチェックを掛けたりすると、
常時1スレ100%が始まってしまいます。

topの100%を眺めていたら気づきました。
COMANDが/usr/sbin/clamdになっています。
リポジから供給されるもが最新版でなかったので
ソースからコンパイルしてインストールしため、
/usr/local/sbin/clamdでなくちゃおかしい。。
whichを実行しても/usr/local/sbin/clamdが
出てきます。

clamdはVirusやワームを見つけるだけです。
Virusメールを見つけたらその処置をするだめに
amavis-newと連携させています。
連携するためにはファイルの所有権の変更や
ソケットへのパスなどに気を使うのですが、
ソースからインストールした際は更に複雑になり、
アップデートを可能にするためには、パッケージ
からインストールしたものも残しておかないと
駄目なようなのです。
もちろん両方を起動することはできませんから
パッケージからインストールしたものは置いておく
だけなのに、どぉやら一部が動いてしまうことで
不具合を起こしてしまったようです。
で、パッケージ側のconfigファイルを全て
読み込めないようにして、これも見事topの
最上部から消えてくれました。

clamscanは他のプロセスがCPUを使っていれば
余っている分だけを利用して行うのですが、
マルチスレッドのCPUでは1スレがまるまる余力を
残しているときも多く、1スレ100%になります。
正常なときでもclamscanを実行すると1スレ
100%になりますが、スキャンし終わったら
CPU利用率がいきなり下がることを確認
できたので対策完了とします。

mysqlとclamdで1スレ100%と別スレ50%、つまり
CPU全体の37.5%を常時喰い散らかしていましたが
放おっておいた2月間で、電力料金が1,600円位
無駄に消費していた計算です。ww
(TDPからの消費電力換算)

まだまだやることありそう。。。です。^^;;

HOME

おすすめ