CPU, RAM 및 하드 디스크 사용률을 확인하는 효율적인 한 줄 Gnu/Linux 명령이 있습니까?

CPU, RAM 및 하드 디스크 사용률을 확인하는 효율적인 한 줄 Gnu/Linux 명령이 있습니까?

내가 하나를 원하는효율적인확인할 Gnu/Linux 한 줄 명령(또는 함께 그룹화된 여러 명령)현재의CPU, RAM 및 하드 디스크 사용량 비율입니다.

참고: 저는 Python을 사용하고 있습니다.기대/pxssh그리고 매시간 crontab에서 스크립트를 실행하세요. 이 스크립트는 ssh를 실행하고 적절한 Gnu/Linux 명령을 실행합니다.


출발점으로 현재 시도는 다음과 같습니다.

echo "CPU `LC_ALL=C top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}'`% RAM `free -m | awk '/Mem:/ { printf("%3.1f%%", $3/$2*100) }'` HDD `df -h / | awk '/\// {print $(NF-1)}'`"

참고: 구체적인 예상 결과가 없습니다. 출력이 이해할 수 있고 출력이 Python 사전에 쉽게 저장되는 형식이면 충분합니다(예 { "CPU": "3", "RAM": "58", "HDD": 30"}: .

값 (3, 58, 30)은 CPU, RAM 및 하드 디스크 사용률입니다.

답변1

이를 정기적으로 실행하려면 데이터 생성을 관리하는 작은 스크립트를 만드는 것이 좋습니다. 더 읽기 쉽고 유지 관리도 더 쉽습니다.

#!/bin/bash
#
cpu=$(LC_ALL=C top -bn1 -p0 | awk '/^%Cpu/{print 100-$8}')
mem=$(free -m | awk '/^Mem:/{printf("%3.1f\n", $3/$2 *100)}')
dsk=$(df -h / | awk '$NF=="/"{print $(NF-1)+0}')

printf '{"CPU": "%3.1f", "RAM": "%3.1f", "HDD": "%3.1f"}\n' $cpu $mem $dsk
exit 0

./546179.sh
{"CPU": "53.7", "RAM": "49.3", "HDD": "46.0"}

이 모든 것을 한 줄로 축소하기로 결정했다면 수행하기는 쉽지만 결과 코드는 거의 읽을 수 없습니다.

printf '{"CPU": "%3.1f", "RAM": "%3.1f", "HDD": "%3.1f"}\n' $(LC_ALL=C top -bn1 -p0|awk '/^%Cpu/{print 100-$8}') $(free -m|awk '/^Mem:/{printf("%3.1f\n",$3/$2*100)}') $(df -h /|awk '$NF=="/"{print $(NF-1)+0}')
{"CPU": "53.7", "RAM": "49.3", "HDD": "46.0"}

관련 정보