web-dev-qa-db-ja.com

Ubuntu-起動後に/ var / log / dmesgが更新を停止するのはなぜですか?コンソールに表示されるpanic / cpu_hungエラーは表示されません

だから私はUbuntu10.04をインストールしていますVMホストに。最新の2.6.38-15-サーバーカーネル。/var/log/dmesgは起動のみを表示しますが、その後は記録を停止します。トラブルシューティングしようとしているtrace/cpu_hungエラーが表示されない/var/log/dmesg.0、dmesg.1何もありません-クラッシュ時にコンソールに表示されるテキストを文字列検索しましたが、/のどこにもログが記録されません。 var/log/*。

Dmesgには何も表示されないため、プロバイダーに電話して、コンソールのスクリーンショットを撮るように依頼する必要があります。

/ var/log/dmesgがカーネルパニックなどを記録しないのはなぜですか?

4
Tom G

起動時間を過ぎてカーネルロギングを修正するかどうかは、カーネルパニックメッセージの助けにはなりません。カーネルがパニックになると、スケジューリングが停止するため、ロギングデーモンがカーネルメッセージを書き留めることはありません。それらを取得したい場合は、 kdump を調べて、完全なカーネルコアダンプを取得したり、 netconsole カーネルモジュールを取得したりできます。カーネルメッセージをUDP経由でリモートのsyslogサーバーに送信します。

カーネルメッセージを起動時間を過ぎて/var/log/dmesgに取り込むが、重大なカーネルクラッシュ以外では、/etc/syslog.conf(またはrsyslogを使用している場合は/etc/rsyslog.conf)に次のようなものを入れてみてください。

kern.* /var/log/dmesg

rsyslogの場合、ファイルには次のものも含まれている必要があります。

$ModLoad imklog.so

syslog-ngを使用している場合は、説明するのが少し難しいと思います。

7
Pierre Carrier

その理由は、/var/log/dmesgが静的ファイルであり、ブートプロセスの最後に作成されるためです。

私はDebianに精通しており、/etc/init.d/bootmisc.shファイルがsavelogの呼び出しで/var/log/dmesgを作成します。 Ubuntuは/etc/init/dmesg.confを介してこれを行います。

通常の操作中のシステムロギングについては、Pierre Carrierが指摘しているように、/var/log/syslogを参照することをお勧めします。

カーネルパニックは頻繁に(常にではありませんが)ユーザープロセス(syslogなど)とディスクI/Oを中断するため、カーネルパニックをキャプチャするにはカーネルロギング機能(kdump、netconsole)を使用する必要があります。もう1つのオプションは、シリアルコンソール(適切なIPMI/ILOMをサポートするシリアルオーバーLAN)を介して、または接続されたgdbセッションを使用してログを記録することです。

2