だから私は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がカーネルパニックなどを記録しないのはなぜですか?
起動時間を過ぎてカーネルロギングを修正するかどうかは、カーネルパニックメッセージの助けにはなりません。カーネルがパニックになると、スケジューリングが停止するため、ロギングデーモンがカーネルメッセージを書き留めることはありません。それらを取得したい場合は、 kdump
を調べて、完全なカーネルコアダンプを取得したり、 netconsole
カーネルモジュールを取得したりできます。カーネルメッセージをUDP経由でリモートのsyslog
サーバーに送信します。
カーネルメッセージを起動時間を過ぎて/var/log/dmesg
に取り込むが、重大なカーネルクラッシュ以外では、/etc/syslog.conf
(またはrsyslog
を使用している場合は/etc/rsyslog.conf
)に次のようなものを入れてみてください。
kern.* /var/log/dmesg
rsyslog
の場合、ファイルには次のものも含まれている必要があります。
$ModLoad imklog.so
syslog-ng
を使用している場合は、説明するのが少し難しいと思います。
その理由は、/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セッションを使用してログを記録することです。