Vous n'êtes pas connecté. Ce forum permet seulement les utilisateurs connectés pour poster. Si vous voulez faire un post sur le forum, s'il vous plaît connecter.
Télécharger
Développer
Compte
Télécharger
Développer
Connexion
Mot de passe oublié ?
Créer un compte
Langue
Aide
Langue
Aide
×
Connexion
Nom du compte
Mot de passe
×
Mot de passe oublié ?
Traduction statut du Français
Catégorie :
Logiciel
Peuple
PersonalForge
Magazine
Wiki
Recherche
OSDN
>
Trouver un logiciel
>
System
>
Installation/Setup
>
Resource Archive
>
Forums
>
Discussion-Ouverte
>
赤帽7.3のバグをみっけ
Resource Archive
Description
Résumé du projet
Dashboard - Développeur
Page Web
Développeurs
Galerie d'images
Liste des flux RSS
Activité
Statistiques
Historique
Téléchargements
List of Releases
Stats
Code Source
Liste des dépôts de code
CVS
Voir le référentiel
Ticket
Liste des tickets
Liste des Jalons
Liste des types
Liste des composants
Liste des tickets/RSS fréquemment utilisés
Soumettre un nouveau ticket
Documents
Communication
Forums
Liste des forums
Forum des développeurs (2)
Forum d’aide (1)
Discussion-Ouverte (146)
Listes de diffusion
Liste de ML
Nouvelles
Forums:
Discussion-Ouverte
(Thread #1404)
Retour à la liste de discussion
RSS
赤帽7.3のバグをみっけ (2002-11-11 12:21 by
naohki
#2643)
Création d'un nouveau ticket
たとおもう
NaOH_KIです
最近朝CPUが100%使われているので何かと思って調べたら
わかりましたよー
簡単に言えば/var/log/mailman/
したに大量のファイルが作られてネズミ算的に増えてゆく現象でしたね
私の環境では40万このファイルができていました・・・
*****以下社内へ流した文章*******
redhat 7.3を使っている方へ
logrotateがなかなか終わらない現象が発生しています。
これは一部のインストール方法でmailmanが入っている場合
/etc/logrotate.d/mailman
というファイルの記述に間違いがあるからです。
****間違い*****
/var/log/mailman/* {
missingok
}
***正しくは****
/var/log/mailman/error {
missingok
}
****です****
そうしないとだんだんloglotateが遅くなりしまいには終了しなくなります。
すでに遅くなってしまった場合は
上記の記述をなおした上で
/var/lib/logrotate.status
を削除するといいかもしれません
また
rm -rf /var/log/mailman
mkdir /var/log/mailman
chown root.mailman /var/log/mailman
をする必要があるかもしれません。
RE: 赤帽7.3のバグをみっけ (2002-11-11 12:47 by
naohki
#2644)
Création d'un nouveau ticket
ちなみに調べ方・・
朝くるといつもlogrotateが100%CPUをつかって
vmwareを起動しようとすると遅くてかなわない現象がありました
いつもはkillをしていたのですが
なにが原因かわからないので検索をしてみましたが
誰もそのような報告をしていません。
設定が悪いのかと思い、/etc/logrotate.confをみましたが
logrotate.dをみていることしかわかりません。
どれかのファイルがおかしいのかと思い
cp -pr /etc/logrotate.d /etc/logrotate.d.bakk
としてバックアップを取り
/etc/logrotate.dの中のファイルを1つ1つ削除しながら
起動して、すぐに終わらないことを確認します。
apache mailman mysqld rpm snmpd tux vgetty zebra
ftpd mars-nwe.log named sendfax squid up2date vm
junkbuster mgetty psacct slrnpull syslog uucp vsftpd.log
いくつかファイルがありましたが
全部削除しても遅いまま・・・
logrotate.confのwtmpの記述を
コメントアウトしても同じでした
処理するファイルがないのに遅い・・
仕方がないので必殺gdb(シンボリックデバッガ)で
logrotateを起動して途中でブレークして
場所を確認・・・・
ーgオプションなしでメークされているため、
どこでおかしいのかがわかりません・・・
memcmp関数をやり続けていることぐらいしか・・・
そこで。logrotateのソースを手に入れます
これがなかなか見つからなかったのですが
redhatで見つけました
これをメークして実行したところ現象が再現
次にメークオプションをいじります
Makefileの RPM_OPT_FLAGS = -O2
を
RPM_OPT_FLAGS = -g
にして再メーク
それを実行して
同じように止める
where
で固まっている場所を特定する
(gdb) run /etc/logrotate.conf
Starting program: /usr/src/redhat/SOURCES/logrotate-3.6.5/logrotate /etc/logrotate.conf
Program received signal SIGINT, Interrupt.
0x4207fa80 in strcmp () from /lib/i686/libc.so.6
(gdb) where
#0 0x4207fa80 in strcmp () from /lib/i686/libc.so.6
#1 0x08049553 in findState (fn=0x8076884 "/var/log/mailman/error.1.1.2.2.1.1.1.1.1.1.1",
statesPtr=0xbffff9bc, numStatesPtr=0xbffff9c8) at logrotate.c:42
#2 0x0804bbd8 in readState (stateFilename=0x804f523 "/var/lib/logrotate.status",
statesPtr=0xbffff9bc, numStatesPtr=0xbffff9c8) at logrotate.c:810
#3 0x0804c097 in main (argc=2, argv=0xbffffa94) at logrotate.c:906
#4 0x42017499 in __libc_start_main () from /lib/i686/libc.so.6
(gdb)
これをみると
#2 0x0804bbd8 in readState (stateFilename=0x804f523 "/var/lib/logrotate.status",
で、/var/log/mailman/error.1.1.2.2.1.1.1.1.1.1.
と言う物を調べているようです
cで再開させて
また同じことをします。
同じところで別のファイルをみています。
どうやらここで、時間がかかっていることがわかります。
そこで各ファイルを確認します。
less /var/lib/logrotate.status
これは処理したふぁいるが入っているようで
音の方にmailmanのログが鬼のようにあります
ls /var/log/mailman
してみます
帰ってきません・・・
ctl+cでとめて
ls -l | wc
としてファイルの数を数えることにしました
数分後
40万行・・・
1つのディレクトリに40万個物ファイルが作られていたのでした・・・
そこで
/etc/logrotate.d/mailman
をみると・・・がっくし・・
処理するべきファイルが「*」になっています
これだと、ローテートしたバックアップファイルもローテートすることになり
ファイルがねずみ算的に増え続けることになります・・
「ざけんあーーー!!!!」とこころのなかでさけびつつ
/etc/logrotate.d/mailmanの記述を修正し
/var/lib/logrotate.statusを削除して実験
即終わり
うむ・・・・
社内に警告の通知をして・・・
redhatにバグジラの報告をして・・・
ここに投稿・・・
合計2時間・・・(爆)
Répondre à
#2643