최상위 명령의 Time+(CPU 시간) 열이 잘못 보고됩니다.

최상위 명령의 Time+(CPU 시간) 열이 잘못 보고됩니다.

내 최상위 명령의 Time+ 열이 실행 중인 PHP 스크립트의 정확한 시간을 보고하지 않습니다. 먼저 다음과 같은 보고를 위아래로 변동합니다.

TIME+
22:39.35 php

그리고 3초 후에 보고합니다.

TIME+
7:12.41 php

그리고 또 3초 후에 보고합니다.

TIME+
42:44.21 php

왜 이런 일이 발생하는지에 대한 단서가 있습니까?

편집하다:

프로세스 이름을 전환하려면 "c"를 눌러 동일한 프로세스인지 확인합니다. 여전히 시간이 잘못 보고되고 있습니다.

답변1

이것이 동일한 PHP 프로세스라고 확신합니까? 나는 당신이 "정상으로 점프"하는 여러 PHP 프로세스를 가지고 있다고 확신합니다.

모든 PHP 프로세스를 더 좋고 쉽게 모니터링하려면 현재 보고 있는 항목에 대해 훨씬 더 쉽게 'htop'을 사용하는 것이 좋습니다.

답변2

기본적으로 top%CPU를 기준으로 정렬되므로 목록의 프로세스가 이동하는 것을 볼 수 있습니다. 키를 반복적으로 사용하여 <정렬 열을 PID로 이동하면 목록이 "점프"를 중지합니다(적어도 새 프로세스가 중지되거나 시작되지 않는 한). 또는 ps p PID u(관심 있는 프로세스의 PID로 대체 php)을 수행하여 목록에서 해당 프로세스만 확인하세요 ps. 시간이 "점프"하지 않는다면 top.

답변3

해당 값은 커널이 관리하는 /proc//stat에서 14번째 필드를 가져와 계산됩니다.

내가 이해하는 한 문제의 값은 '지피'(실질적으로 100분의 1초) 단위로만 증가합니다.

해당 pid에 대한 /proc//stat의 값을 10초 후에 고양이로 표시할 수 있습니까?

관련 정보