人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

psコマンドで確認すると、apacheが起動に伴っての/usr/sbin/rotatelogs /var/log/httpd/error_log.%Y%m%d 86400 540、
/usr/sbin/rotatelogs /var/log/httpd/ssl_8444_access_log.%Y%m%d 86400 540、
/usr/sbin/rotatelogs /var/log/httpd/ssl_8444_request_log.%Y%m%d 86400 540
などのプロセスが20個ほど常に起動しています。
その影響でpsコマンド出力のVIRT RESの合計メモリで150Mほど常に食っています。

logrotateは、/etc/cron.dailyで4時2分起動で設定されています。
/var/lib/logrotate.statusには、これらの20個ほどのプロセスと同じものが存在します。

この/usr/sbin/rotatelogsプロセスは/etc/cron.dailyで動く時間以外にも待機プロセスと複数起動するものなのでしょうか。

このメモリ消費を減らしたいと思っておりまして、待機プロセスとして起動させない事など出来るものでしょうか。

何卒ご教示頂けますと幸いです。

よろしくお願い致します。


●質問者: takahiro-san
●カテゴリ:コンピュータ インターネット
✍キーワード:Apache ETC httpd LIB PS
○ 状態 :終了
└ 回答数 : 6/6件

▽最新の回答へ

1 ● horonict
●0ポイント

ふつうはlogrotateだけで十分でしょう。

rotatelogsを止めるには、"httpd.conf"で設定します。下記をご覧ください。

http://www.atmarkit.co.jp/flinux/rensai/apache14/apache14a.html


2 ● ayakasi08
●0ポイント

>複数起動するものなのでしょうか。

そうです。

http://q.hatena.ne.jp/answer


3 ● kick_m
●0ポイント

たぶん/var/log/httpdあたりのディレクトリがrotateの権限では書き込めないようになって終わらないのだと思います。ディレクトリとrotateの起動権限を見直してください。http://www


4 ● まきのっぴ
●43ポイント ベストアンサー

rotatelogs のプロセスは httpd.conf で指定した数だけ起動、常駐します。なのでそういうものです。

また、rotatelogs を使う場合は logrotate は不要です。どちらかだけで良いです。cron.daily や logrotate と rotatelogs は全く関係ありません。

rotatelogs のプロセスが気になるようでしたら、rotatelogs を使うのをやめて logrotate にローテーションさせる状態 (Apache のデフォルト) に戻せば良いです。

(今やっているような、日毎にきれいにログを分割することを実現するのは logrotate ではちと面倒ですが。)

http://q.hatena.ne.jp/1200448522 も参考になるかもしれません。

◎質問者からの返答

ご回答ありがとうございます。

rotatelogs のプロセスは httpd.conf で指定した数だけ起動、常駐しますとのことですが、

それは、httpd.confの中の

<IfModule prefork.c>

MinSpareServers 1

MaxSpareServers 2

MinSpareServers で指定した待機プロセスの数の分だけ起動常駐するとのことでしょうか

よろしくお願い致します。


5 ● まきのっぴ
●33ポイント

> MinSpareServers で指定した待機プロセスの数の分MinSpareServers で指定した待機プロセスの数の分だけ起動常駐するとのことでしょうか

いえ、CustomLog や ErrorLog 等で rotatelogs を使うと指定した回数分です。

httpd.conf を rotatelogs で grep して出てきた行数分と言ってもいいかもしれません。

rotatelogs を使うのをやめて logrotate に身を任せれば0にできます。

http://q.hatena.ne.jp/answer

◎質問者からの返答

なるほど。

了解しました。

あと、1点、質問させてください。

/etc/httpd/conf.d/ssl.confにあります、ssl_request_logの設定で

ログファイルがssl_request_logの表示しか出力されていません。

検索してみますと、

CustomLog "logs/ssl_request_log.%Y%m%d" \

"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"のような記述がありますが、

私の設定のconfでは、CustomLog "|/usr/sbin/rotatelogs /var/log/httpd/ssl_31082_request_log.%Y%m%d 86400 540" ssl_request_logの

"ssl_request_log"で出力指定しているためでよろしいでしょうか。

お手数お掛けしますが、よろしくお願い致します。


1-5件表示/6件
4.前の5件|次5件6.
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ