![멀티 코어 시스템에서 애플리케이션의 CPU 사용률을 계산하는 방법](https://linux55.com/image/200921/%EB%A9%80%ED%8B%B0%20%EC%BD%94%EC%96%B4%20%EC%8B%9C%EC%8A%A4%ED%85%9C%EC%97%90%EC%84%9C%20%EC%95%A0%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98%EC%9D%98%20CPU%20%EC%82%AC%EC%9A%A9%EB%A5%A0%EC%9D%84%20%EA%B3%84%EC%82%B0%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
8코어 서버에서 0~3개는 isolcpu로 구성되고 나머지 코어(4~7)는 시스템 및 사용자 프로세스를 실행하는 데 사용할 수 있습니다. 내 응용 프로그램에는 위의 비isolcpu 코어(4-7)에서 실행되는 여러 프로세스가 있습니다.
시스템에 대해 구성할 올바른 isolcpus 범위를 결정하려면 애플리케이션(모든 프로세스 결합)의 총 CPU 사용률을 찾아야 합니다.
프로세스나 프로세스 그룹의 CPU 사용률을 계산하는 이 방법이 매우 혼란스럽습니다. 누군가 평신도의 관점에서 나를 깨달을 수 있습니까? 감사해요!
또한 관련 질문을 검토했지만 그 중 누구도 도움이 되지 않았습니다. https://serverfault.com/questions/648704/how-are-cpu-time-and-cpu-usage-the-same
답변1
top
명령을 시도해 볼 수 있습니다 . 먼저 모니터링할 프로세스 ID를 결정합니다. 예를 들어 ps -U <username>
현재 실행 중인 모든 프로세스 보기를 실행할 수 있습니다. 그런 다음 추적하려는 첫 번째 프로세스의 프로세스 ID가 top -p N1,N1,…
어디에 있는지 사용할 수 있습니다 . N1
top의 출력은 각 프로세스가 사용하는 CPU 리소스의 양을 알려주고, 이는 다시 애플리케이션이 사용하는 시스템 리소스의 양을 알려줄 수 있습니다. 루트 또는 다른 사용자에서 실행되는 개별 스레드 또는 프로세스와 같은 추가 정보가 필요한 경우 다음을 참조하세요.맨 위매뉴얼 페이지(이 페이지는 매우 광범위함) 및메모맨 페이지.