note

Linuxのろぐー、dmesg

あつ~い。しぬ。

みなさま、エアコンはもう入れていますか。うちはまだです。

最近、英語とFlutterを毎日勉強しています。そして明日はGoの輪読会ー。楽しみー。

あちこち手出ししすぎてモノにできないパターンの人間ですが、いのいの、楽しく学べれば。(ほんとは良くないとは分かっているけど、やめられない)

今日はスキマ時間ができたので、あとで調べようストックから引っ張りだしてきた単語について調べました。(太古の昔にも勉強したはずなんだけど忘れている)

/var/log/dmesg と dmegコマンド

/var/log/dmesg ファイルというのがありまして、こちらはLinuxブート(起動)直後からファイルシステムがマウントれるまでに、カーネルさんが出したメッセージを記録しておく、ログファイルとなっております。起動時のデバイス情報が書かれるみたいだよ。

カーネルが出すメッセージはリングバッファ(循環バッファ)に書かれます。容量の上限に達すると、先頭に戻り、古いメッセージを上書きします。

起動時にカーネルが出すメッセージを参照するには、dmesgコマンドを使用します。自分のMacで試したら、sudoしろ〜といわれたので、管理権限がないとだめなようです。

一連のフロー

Linuxが起動する → 起動スクリプト内で dmesgを実行dmesg -s 読み取りサイズ > /var/log/dmesg」みたいな。→ リングバッファ内の情報が、/var/log/dmesg に書き込まれる。

ログ出力を担当するsyslogd

klog→syslog→ログに書き込む

設定ファイルは、/etc/syslog.conf

LRUアルゴリズム

リングバッファの実装にこのアルゴリズムが使われているのか知らないけど、調べていて気になったのでメモ。

  • Least Recently Used
  • キャッシュや仮想メモリが扱うデータのリソース割当を決めるアルゴリズム
  • 「使われてから最も長い時間が経ったもの」「参照される頻度が最も低いもの」を判断するのに使用される

dmesgペンギン

この記事のアイキャッチ用に描いた。気に入っていただけたらダウンロードしてご自由にお使いください。直リンクしたり、売ったりするのはだめですよ。

ペンギンのイラスト

 

-note