[JM:02045] Re: dmesg

Back to archive index
長南洋一 cyoic****@maple*****
2021年 2月 11日 (木) 21:12:20 JST


長南です。

> > ○ the kernel ring buffer:
>
> カーネルのリングバッファ がわかりやすいかな。

一箇所を抜かして、「カーネルのリングバッファ」にしました。一箇所というのは、
-T オプションの訳注の中です。そこでは、「の」を繰り返すと、うるさく感じられる
ので、「カーネルリングバッファ」にしておきました。

> > ○ -d, --show-delta:
>
> 増分 だと 増分バックアップ (Incremental backup)と言う言葉があるので、
> 差分 の方が良いと思います。

「差分」だと、プラスマイナス、両方を意味するでしょう。この場合は単調増加ですし、
「増分」の方が意味的にはより正確ではないかと...。「増分」という訳語も英和辞典に
出ていますし。

> > ○ -p, --force-prefix:
> >
> >   multi-line message というのは、具体的にはどういうもので、それが
> >   --force-prefix でどうなるのか分からないでいます。
>
>たとえば
>
> Feb 06 14:30:40 foobar systemd[1]: Started PackageKit Daemon.
> -- Subject: Unit packagekit.service has finished start-up
> -- Defined-By: systemd
>
> のような物ではないでしょうか。

これは、どうやったら、こうなりました? お使いのディストリビューションは、
何ですか? うちの場合、dmesg は debian 10 のもの (util-linux 2.33.1)、
それに util-linux 2.36 を debian 9 上で build したものですが、どちらでも
以下のようにしかなりません。つまり、--force-prefix を付けても付けなくても、
複数行メッセージの各行にタイムスタンプが付きます。以下の引用は、複数行メッセージの
例として間違えていませんよね。

# LANG=C dmesg -T |grep -B 1 "\.\.\."
[Wed Feb 10 12:50:44 2021] Performance Events: PEBS fmt3+, Skylake events, 32-deep LBR, full-width counters, Intel PMU driver.
[Wed Feb 10 12:50:44 2021] ... version:                4
[Wed Feb 10 12:50:44 2021] ... bit width:              48
[Wed Feb 10 12:50:44 2021] ... generic registers:      4
[Wed Feb 10 12:50:44 2021] ... value mask:             0000ffffffffffff
[Wed Feb 10 12:50:44 2021] ... max period:             00007fffffffffff
[Wed Feb 10 12:50:44 2021] ... fixed-purpose events:   3
[Wed Feb 10 12:50:44 2021] ... event mask:             000000070000000f

# LANG=C dmesg -T --force-prefix |grep -B 1 "\.\.\."
[Wed Feb 10 12:50:44 2021] Performance Events: PEBS fmt3+, Skylake events, 32-deep LBR, full-width counters, Intel PMU driver.
[Wed Feb 10 12:50:44 2021] ... version:                4
[Wed Feb 10 12:50:44 2021] ... bit width:              48
[Wed Feb 10 12:50:44 2021] ... generic registers:      4
[Wed Feb 10 12:50:44 2021] ... value mask:             0000ffffffffffff
[Wed Feb 10 12:50:44 2021] ... max period:             00007fffffffffff
[Wed Feb 10 12:50:44 2021] ... fixed-purpose events:   3
[Wed Feb 10 12:50:44 2021] ... event mask:             000000070000000f

> > ○ -T, --ctime:
>
> >    「調整 (adjust)」という訳語ももっと適当なものがあるかもしれません。
>
> 修正 のほうがいいかなあ。

修正や補正をしないから、問題が出るわけで ... ああ、そうか、前のタイムスタンプを
修正するということですね。

この adjust は「時計 (時刻、時間) 合わせをする」で、事実上「時刻を決める、
定める」ということではないでしょうか (「決める、定める」まで言ってしまうと、
adjust の意味から離れてしまいそうですが)。そこで、「時間合わせ」を使って
すまそうかと思います。

   -T, --ctime
         人間に読みやすいタイムスタンプを表示する。

         「このタイムスタンプは不正確なことがある!」のをご承知いただきたい。
	 ログに使用する、タイムスタンプの元になる情報   (the   time
         source) は、システムのサスペンド/レジューム後に、更新が行われない。
	 更新が行われないので、タイムスタンプは、ブートタイムと単調増加クロック
	 (monotonic  clocks) との間の現在の増分 (delta) によって
	 時間合わせがなされているのだが、そうした時間合わせが、最後の
	 レジューム以後に表示されるメッセージ同士の間でしかうまく働か
         ないのである。

         [訳注]  つまり、サスペンド/レジューム直後のタイムスタンプについ
                ては、 時間合わせがうまく行かない。 言葉を変えると、
		カーネルリングバッファのタイムスタンプでは、ブートタイムと
                実稼働時間のみが使用されており、サスペンド中の時間は加算
                されない。それ故、サスペンド後の dmesg の日時表示は信用
                できないということである。

ちょっと苦しまぎれですが、原文が混乱しているので、仕方がないと思います。

-- 
長南洋一



linuxjm-discuss メーリングリストの案内
Back to archive index