dmesg의 시간 이해

dmesg의 시간 이해

나는 그 시간이 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에서 시간을 어떻게 이해합니까?

답변1

dmesg는 부팅 프로세스의 성능을 분석하거나 조사하는 데 적합한 방법이 아닙니다. bootchart최신 배포판에서는 bootchart 의 시스템 통합 버전을 사용해야 합니다 systemd-analyse.

이는 복잡한 프로세스이기 때문에 이 답변에 튜토리얼을 복사하지 않겠습니다.

부트차트 설치 방법은 여기에서 설명합니다.

여기에서는 systemd-analytic을 사용하는 방법을 설명합니다.

답변2

각 로그 항목은 로그 항목이 인쇄된 시간을 표시합니다. 그 이상도 이하도 아닌. 로그 항목이 일시적이지 않은 프로세스를 설명하는 경우 개발자가 선택한 작업에 따라 프로세스 실행 전후에 로그 항목이 나타나야 한다는 규칙은 없습니다. 구문은 단서입니다. "did this"는 작업이 완료되었음을 의미하고 "will do this"는 작업이 아직 완료되지 않았음을 의미하지만 "do this"는 모호합니다.

~처럼cmks 설명, dmesginitramfs 또는 init 프로그램이 시작된 후 시스템에서 발생하는 일에 대한 유용한 그림을 그리지 않는 커널 로그만 표시합니다. 표시되는 행 중 어느 것도 1초 이상 걸리는 이벤트를 설명하지 않으므로 시작 시간이 길어지는 데 기여하는 것도 없습니다. 이것은 커널에서 발생하지 않는 또 다른 일입니다.

관련 정보