어떤 프로세스 상태가 CPU 시간에 포함되나요?

어떤 프로세스 상태가 CPU 시간에 포함되나요?

내 두 가지 관찰 사항(틀렸다면 정정해 주세요):

  • time프로세스 타이밍에 대한 출력에서,

    "User" 및 "Sys"는 특정 시스템에 따라 대기(2) 또는 시간(2)에서 나옵니다.

  • Linux 커널에서 프로세스 상태 "실행 중" 및 "준비"(즉, 실행 대기열에서 실행 중 및 대기 중)는 모두 로 표시됩니다 TASK_RUNNING.

프로세스의 CPU 시간에 포함되는 프로세스 상태는 다음과 같습니다.

  • "달리기"
  • "준비해"
  • "실행 중" 및 "준비", 즉 TASK_RUNNING?

내 선택은 "실행"입니다. 그러나 이것이 사실이라면 TASK_RUNNINGLinux 커널은 "실행 중"과 "준비"를 구분하지 않으므로 timeCPU 시간은 어떻게 보고됩니까?

답변1

시간을 계산하려면 프로세서의 틱과 프로세서에서 낭비되는 프로세스의 틱이 중요합니다. 프로세스가 프로세서에서 소비하는 시간에 대해 이야기하는 경우 사용자 및 커널 모드에서 실행될 때 틱을 합산해야 합니다.

관련 정보