>  기사  >  시스템 튜토리얼  >  Linux에서 특정 CPU 사용량을 계산하는 사례에 대한 자세한 설명

Linux에서 특정 CPU 사용량을 계산하는 사례에 대한 자세한 설명

PHPz
PHPz앞으로
2023-12-22 10:34:111144검색

Linux의 특정 CPU 사용량 계산 필수 솔루션 확장 참조

수요

Linux에서는 top 명령을 사용하여 특정 프로세스가 차지하는 CPU를 확인하거나 특정 CPU의 사용량을 확인할 수 있습니다. (먼저 top 명령을 사용한 다음 숫자 "1" 키를 눌러 사용량을 표시합니다. 각 CPU), 다음과 같습니다. 그림:

Linux에서 특정 CPU 사용량을 계산하는 사례에 대한 자세한 설명

그리고 우리에게 필요한 것은: CPU 점유율을 얻는 방법은 무엇입니까?

솔루션

1. 배경지식

아래와 같이 /proc/stat에서 각 CPU의 사용량을 확인할 수 있습니다.

Linux에서 특정 CPU 사용량을 계산하는 사례에 대한 자세한 설명

cpu(0/1/2/…) 뒤의 10개 숫자의 의미는 다음과 같습니다.

으아악

2. 특정 CPU 사용량 계산

위의 배경 지식을 바탕으로 특정 CPU 사용량을 계산할 수 있습니다. 구체적인 계산 방법은 다음과 같습니다.

으아악

위 계산식을 사용하면 특정 CPU 사용량이나 시스템의 전체 CPU 사용량을 계산하는 것이 어렵지 않습니다.
예: 시스템의 전체 CPU 사용량 계산
먼저 t1의 /proc/stat에서 전체 시스템 user, nice, system, idle, iowait, irq, softirq, Steal, guest, guest_nice 값을 가져오고 이때 부팅 이후 총 CPU 시간( total1로 기록됨) 및 부팅 이후 총 CPU 유휴 시간(idle1로 기록됨).
둘째, /proc/stat에서 t2에 있는 시스템의 부팅 이후 총 CPU 시간(total2로 기록됨)과 부팅 이후 총 CPU 유휴 시간(idle2로 기록됨)을 가져옵니다. (방법은 이전 단계와 동일합니다)
마지막으로 t2에서 t1 사이 시스템의 총 CPU 사용량을 계산합니다. 즉:
t1과 t2 사이의 CPU 비율 = ((total2-total1)-(idle2-idle1))/(total2-total1)*100%
그 중 ((total2-total1)-(idle2-idle1))은 실제로 t1에서 t2 사이에 시스템 CPU가 점유된 시간(총 시간 - 유휴 시간)입니다.
다음은 일정 기간 동안 CPU 사용량을 계산하는 스크립트입니다.

으아악

확장

커널에서 /proc/stat에 있는 파일에 대한 구현 기능은 다음과 같습니다.

으아악

참고

http://man7.org/linux/man-pages/man5/proc.5.html

https://www.php.cn/link/f45cc474bff52cb1b2268a2f94a2abcf

https://www.php.cn/link/73d02e4344f71a0b0d51a925246990e7

위 내용은 Linux에서 특정 CPU 사용량을 계산하는 사례에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 jb51.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제