Linux에서 CPU 사용률을 확인하는 스크립트

Linux에서 CPU 사용률을 확인하는 스크립트

분당 CPU 소비량을 표시하고 파일에 저장하는 bash 스크립트를 원합니다.

출력은 다음과 같습니다:

11/09/2015 10:00: CPU: 60%
11/09/2015 10:01: CPU: 72%
11/09/2015 10:02: CPU: 32%

잠깐... 누가 좀 도와줄 수 있나요?

#sar >> Result.txt를 사용하여 이 작업을 수행할 수 있지만 매분이 아닌 15분마다 결과가 표시됩니다. 이 문제를 해결하는 방법을 아는 사람이 있나요?

답변1

이것을 시스템 어딘가(예: /opt)의 bash 스크립트에 넣으세요.

#!/bin/bash

CPU_USAGE=$(top -b -n2 -p 1 | fgrep "Cpu(s)" | tail -1 | awk -F'id,' -v prefix="$prefix" '{ split($1, vs, ","); v=vs[length(vs)]; sub("%", "", v); printf "%s%.1f%%\n", prefix, 100 - v }')

DATE=$(date "+%Y-%m-%d %H:%M:")

CPU_USAGE="$DATE CPU: $CPU_USAGE"

echo $CPU_USAGE >> /opt/cpu_usage.out

그런 다음 /etc/cron.d/ 아래에 다음 내용으로 cpu_usage라는 파일을 만듭니다.

*/1 * * * * root /opt/your_script.sh

이는 매분마다 스크립트를 실행하고 지정된 파일의 새 줄에 CPU 사용량을 백분율 형식으로 출력해야 합니다.

답변2

*/1 * * * * prstat -Z|head -18|tail -1|awk '{print$7}'>filename.txt

관련 정보