단일 Firefox 브라우저 프로세스에 대한 Ubuntu Linux 16.10 시스템 모니터 % CPU 사용량과 ps pcpu, % CPU 사용량 사이에 다음과 같은 차이점이 있는 이유는 무엇입니까?
Firefox 브라우저 응용 프로그램의 경우 ps -eo pid,rss,c,pcpu,cmd에서 2.8% pcpu를 얻는 반면, 동일한 Firefox 브라우저 응용 프로그램의 경우 GUI 응용 프로그램 Ubuntu System Monitor에서는 CPU 사용률이 0%로 표시됩니다.
왜 이런 차이가 발생하는지 물어봐도 될까요?
이 차이점에 대한 Unix Linux Stack Exchange 전문가 @DopeGhoti의 가설은 다음과 같습니다.
ps는 당시 실제 CPU 사용량을 보고할 수 있지만 GUI 응용 프로그램은 지난 n초 동안의 집계된 사용량을 표시하거나 하위 프로세스 또는 iowait 사용량에서 CPU 사용량을 스크롤할 수 있습니다.
누군가 이 가설을 확장할 수 있나요?
어떤 도움이라도 대단히 감사하겠습니다.
답변1
한 시간 후 Firefox 프로세스를 사용하여 @DopeGhoti의 가설을 테스트합니다.
"ps는 당시 실제 CPU 사용량을 보고할 수 있지만 GUI 응용 프로그램은 지난 n초 동안의 집계된 사용량을 표시하거나 하위 프로세스 또는 iowait 사용량에서 CPU 사용량을 스크롤할 수 있습니다."
ps가 다음과 같이 실제 CPU 사용률을 측정한다는 점을 제외하면 대부분 정확하다는 것을 알았습니다.
내 프로세스가 실행된 시간(샘플링 기간)을 알고 있는 경우 실제 "%cpu" 값은 다음과 같이 계산할 수 있습니다.
샘플링 기간 동안 누적된 "CPU TIME"---------------------------- ------- -- ---- x 100 샘플링 주기 길이
Ubuntu Linux 16.10 시스템 모니터의 Firefox 프로세스 CPU 사용률 데이터는 시스템 모니터 기본 설정에 매우 민감하다는 것을 알았습니다. 1. 업데이트 간격(초), n. 즉, 지난 n초 동안의 사용량을 집계한 것입니다. 2. CPU 수에 따른 CPU 사용량 외에 Lenovo Thinkstation 데스크탑에 쿼드 코어 CPU를 사용하고 있습니다.
In summary, the longer the time period over which aggregate usage
측정이 정확할수록 CPU 사용률 측정도 더 정확해집니다.