我知道在dmesg中的时间是自启动以来的时间。但我的具体问题是,这一次是在行中提到的过程的开始或结束时计算出来的?
为什么这很重要?
举个例子:
[ 4.352025] floppy0: no floppy controllers found
[ 5.718270] random: nonblocking pool is initialized
[ 94.134265] Adding 2094076k swap on /dev/sda5. Priority:-1 extents:1 across:2094076k FS**
[ 96.988453] init: bootchart main process (274) terminated with status 127如果时间,是计算完成后的进程,进程在第3行应采取的慢速启动。
但是,如果从一开始就计算出时间,那么第二行就应该负责。
但是,当我们在启动后很长时间检查dmesg时,情况就变得更加复杂了。
举个例子:
[28047.749604] wlp3s0: associated
[28941.112855] [drm:intel_pipe_update_end [i915]] *ERROR* Atomic update failure on pipe A (start=757985 end=757986)
[31407.938694] cfg80211: World regulatory domain updated:
[31407.938699] cfg80211: DFS Master region: unset这个2466秒的差距不应该有任何有用的意义。
我看到很多时候,对于dmesg中的哪一行应该对缓慢的引导负责,人们都很困惑。
我们怎么才能在dmesg中理解时间呢?
发布于 2016-03-23 23:43:32
每个日志条目显示打印日志条目的时间。不多也不差。如果日志条目描述的进程不是瞬时的,那么日志条目必须在执行该过程之前或之后出现,这取决于开发人员选择做什么。语法是一条线索:“做这件事”表示动作已经完成,“将做这件事”表示它还没有完成;但是“做这件事”是不明确的。
正如cmks解释一样,dmesg只显示内核日志,它没有描绘出一旦启动initramfs或init程序后系统上发生的事情的有用图片。您显示的行中没有一行描述花费超过一秒的时间的事件,因此它们都不负责长时间的启动。这是另一回事,在内核中没有发生。
发布于 2016-03-23 21:07:13
dmesg并不适合分析或研究引导过程的性能。您应该使用bootchart或在更年轻的发行版中使用已经在系统集成版本中的引导图systemd-analyse。
因为这些都是复杂的过程,所以我不会将教程复制到这个答案上。
这里解释了如何安装引导图。
https://unix.stackexchange.com/questions/271756
复制相似问题