« in.ftpd: デフォルト設定における anonymous login メッセージの抑止方法 | メイン | Cobalt-Raq550の時刻同期(NTP) »

2005年7月14日

Cobalt-Logキャッシュのクリア

> #cat /var/log/kernel
> kernel: Unable to load interpreter /lib/ld-linux.so.2
> Jan 11 06:51:13 hostname last message repeated 4 times

cronが走る時間帯から確認していると、parseReport.plがメモリを大量消費していることが判明。
(過去ログ検索で同様の内容があった...)
これが動いている間に、メモリがつきるとLCDパネル表示がなくなり、commandもsegmentation faultでうけつけないということになる。

動き出す前のtop
[root root]#top
3:53am up 74 days, 23:37, 1 user, load average: 0.09, 0.05, 0.01
60 processes: 59 sleeping, 1 running, 0 zombie, 0 stopped
CPU states: 0.5% user, 0.7% system, 0.0% nice, 98.6% idle
Mem: 517188K av, 336736K used, 180452K free, 163772K shrd, 77508K buff
Swap: 131532K av, 12312K used, 119220K free 183916K cached

これから徐々にメモリを食っていき、残り2Mあたりをさまよいつつ、回復
[root root]#top
6:22am up 75 days, 2:05, 1 user, load average: 1.41, 1.33, 1.28
62 processes: 59 sleeping, 3 running, 0 zombie, 0 stopped
CPU states: 91.3% user, 8.4% system, 0.1% nice, 0.0% idle
Mem: 517188K av, 461248K used, 55940K free, 163336K shrd, 119908K buff
Swap: 131532K av, 6220K used, 125312K free 260900K cached

PID USER PRI NI SIZE RSS SHARE STAT LIB %CPU %MEM TIME COMMAND
13353 root 5 0 9288 9288 1376 S 0 88.7 1.7 0:34 split_logs
13565 root 15 0 2940 2940 1156 R 0 5.9 0.5 0:00 parseReport.pl

その後analogが動き出し一気にメモリ消費。そのparseReport.plも動き出しswapまでもが窒息寸前に...
[root root]#top
6:48am up 75 days, 2:31, 1 user, load average: 2.21, 2.41, 1.97
64 processes: 61 sleeping, 3 running, 0 zombie, 0 stopped
CPU states: 98.6% user, 1.3% system, 0.0% nice, 0.0% idle
Mem: 517188K av, 513660K used, 3528K free, 21468K shrd, 10648K buff
Swap: 131532K av, 126580K used, 4952K free 13848K cached

PID USER PRI NI SIZE RSS SHARE STAT LIB %CPU %MEM TIME COMMAND
15505 root 11 0 538M 433M 488 R 0 98.2 85.8 5:33 parseReport.pl

この時間帯のプロセスは
[root root]#ps ax (関係ありそうなもののみ)
14076 ? SW 0:00 [sh]
14077 ? S 3:43 perl -w /usr/local/sbin/split_logs web
15504 ? SW 0:00 [sh]
15505 ? R 10:57 perl /usr/admserv/cgi-bin/.cobalt/webUsage/parseRepor
t.pl -t web -s main -o /usr/admserv/html/.cobalt/report/web/

このプロセスの段階でどうやらサービスが不安定になる模様。
ML-過去ログよりparseReport.plを検索し、次のように行う。
[root root]#cd /home/.cobalt/report
[root root]du -sm *
13 ftp.cache
13 ftp.cache.new
12 ftp.stats
5 mail.cache
5 mail.cache.new
3 mail.stats
0 stats.tab
213 web.cache
213 web.cache.new
84 web.stats
となっている。(あとは各siteのdatファイルが存在)

あとは、上記ファイル(〜.cache)を削除し、空のファイルを作成。

すると、kernelからのerrorもなくなり、logrotateも3時間から40分くらいで終了するようになる。
logrotate終了後の結果
[root report]# du -sm *
0 ftp.cache
0 ftp.cache.new
0 ftp.stats
0 mail.cache
0 mail.cache.new
0 mail.stats
0 web.cache
3 web.cache.new
2 web.stats

投稿者 AJ : 2005年7月14日 19:44

トラックバック

このエントリーのトラックバックURL:
http://www.factory-aj.com/cgi/mtctrl/mt-tb.cgi/162

 
Powered by Movable Type 4.27-ja | RSS1.0 | RSS2.0 | ATOM