[완료] 리눅스 ps -o pcpu

idrukawa의 이미지

안녕하세요.
리눅스에서 프로세스의 cpu, memory 사용률을 확인하는 프로그램을 작성하려고 합니다.

ps를 이용해서 작성했는데요.
ps -o pcpu,pmem,pid,args --ppid=%d

for 무한루프 프로그램을 제작해서 테스트를 해본 결과
pcpu 결과가 100%를 넘어서는 경우가 있습니다.

1. 원인을 알 수 있을까요?
2. 다른 구현 방법이 있으면 알려주세요~

pynoos의 이미지

정상스럽게 보입니다만... 하나의 프로세스가 여러 쓰레드로 되어 있고, 각쓰레드가 멀티코어의 서로 다른 코어에 스케쥴링되어 동시에 실행되는 순간이면 100% 이상이 됩니다.

idrukawa의 이미지

4core 짜리일 경우
1core에서 100% 동작해도 100%로 표시된다는 말씀이신가요?

그럼 4core에서 모두 100% 동작하면 400% 로 표시된다는 거네요.
core 수를 알아내서 나눠줘야겠군요...

좀 일반적이지 않은 표현인것 같네요.
답변감사합니다.