「カーネルリングバッファー」、「ユーザーレベル」、「ログレベル」などの単語が一緒に表示されることがよくありました。例えば.
/ var/log/dmesgカーネルリングバッファー情報が含まれます。
/var/log/kern.logログレベルのカーネルのメッセージのみが含まれます
/var/log/user.logすべてのユーザーレベルのログに関する情報が含まれています
それらはすべてログに関するものですか?それらはどのように関連し、異なっていますか?
「レベル」によって、私は複数のレベルの階層を想像するでしょうか?
「ユーザーレベル」は「ユーザースペース」に関連していますか?
はい、これはすべてロギングに関係しています。いいえ、ランレベルや「保護リング」とは関係ありません。
カーネルはそのログをリングバッファーに保持します。これの主な理由は、syslogデーモンが起動してログを収集する機会を得るまで、システム起動からのログが保存されるためです。そうしないと、syslogデーモンの起動前のログは記録されません。そのリングバッファの内容は、dmesg
コマンドを使用していつでも確認でき、syslogデーモンが起動しているときと同じように、その内容も/var/log/dmesg
に保存されます。
カーネルに由来しないすべてのログは、生成時にsyslogデーモンに送信されるため、バッファーに保持されません。カーネルログも、生成時にsyslogデーモンによって取得されますが、引き続き(不必要に、間違いなく)リングバッファーに保存されます。
ログレベルは syslog(3)マンページ に記載されており、以下のとおりです。
各レベルは、前のレベルよりも「重要度」が低くなるように設計されています。 1つのレベルでログを記録するログファイルは、より重要なレベルすべてのログも記録します。
(たとえば)/var/log/kern.log
と/var/log/mail.log
の違いは、レベルではなく施設またはカテゴリに関係しています。カテゴリはマンページにも記載されています。
dmesg
:に関する質問の少なくとも最初の部分に回答するには
_/var/log/dmesg
_は、「カーネルリングバッファー」の内容を格納します。これは、ブートローダーがブートローダーフェーズを通過するとすぐに生成されるログデータを格納するブート時にカーネルによって作成されるメモリバッファーです。
リングバッファは、常に一定のサイズである特別な種類のバッファであり、新しいメッセージが着信すると最も古いメッセージを削除します。カーネルリングバッファに格納されているテキストは、Unixを初めて起動したときに画面上で点滅します。 -コンソールモードのマシン(スプラッシュスクリーンなし、プリマス)。カーネルログはメモリバッファーに保存されるので、システムがsyslog
デーモンが引き継ぐことができるポイントまでブートストラップされるまで、ブートログはどこかにあるはずです。
Linuxでのdmesg
は、kernel.orgによって公開されているシステムメンテナンスツールの不可欠な_util-linux
_パッケージの一部です。 dmesg(1)
manページによると、
dmesgは、カーネルリングバッファを検査または制御するために使用されます。
参照: http://www.computerhope.com/unix/dmesg.htm
'systemd' initでは、このコマンドを使用してカーネルリングバッファーを出力できます。
_# journalctl --dmesg or journalctl -k
_、修正用thxs @don_crissti
たとえば、コマンド_dmesg | grep -i ethernet
_を発行すると、文字列「ethernet」のカーネルリングバッファーが解析されます。
これが少なくともお問い合わせの最初の部分でお役に立てば幸いです。