top/htop과 같은 CPU "자세한" 사용량을 프로그래밍 방식으로 가져옵니다.

top/htop과 같은 CPU "자세한" 사용량을 프로그래밍 방식으로 가져옵니다.

htopCPU 사용량을 표시하는 좋은 방법이 있습니다. 이는 각 코어 측정항목을 세 가지 섹션으로 나누어 각 코어의 활동(사용률)을 보여줍니다.

  • 파란색: 우선순위가 낮은 프로세스
  • 녹색: 정상 프로세스
  • 빨간색: 커널 프로세스

나는 Bash에서 htop과 같은 작업을 수행하고 있으며(예!) /proc(첫 번째) 또는 다른 곳(예: 명령)에서 이 값을 읽고 싶습니다.

누르면 동일한 정보가 상단에 (텍스트로) 나타납니다 1. 궁극적으로 프로그래밍 방식으로 배경 상단을 top누를 수 있다면 이는 데이터를 읽는 솔루션이 될 수 있습니다.1

그렇다면 이 정보를 쉽게 얻을 수 있는 방법이 있나요?

너무 복잡하다면 커널의 전역 사용법을 읽는 것만으로도 충분합니다(예를 들어 cpu0: 12%).


편집하다:CPU별 사용량을 확인하기 위해 다음과 같은 작은 명령을 작성했지만 자세한 내용은 포함하지 않았습니다(따라서 내 질문에 완벽하게 대답하지는 못하지만 해결책을 찾을 수 없으면 사용하겠습니다).

ps axo psr, pcpu 'END {
  (E in a)에 대해
    인쇄E,a[E]
    }
{ a[$1] += $2 }'

그건 그렇고, 믿을 만하다고 생각하세요?

답변1

의 출력에서 ​​로드 평균(1분, 5분, 15분 평균 유휴 프로세스 수)을 구문 분석할 수 있습니다 uptime. 여기에는 CPU 사용자뿐만 아니라 디스크 절전 상태의 프로세스도 포함됩니다.

관련 정보