%3A%20%EB%A9%94%EB%AA%A8%EB%A6%AC%20%EC%9D%B8%EC%87%84%EB%A5%BC%20%ED%85%8D%EC%8A%A4%ED%8A%B8%20%ED%8C%8C%EC%9D%BC%EC%97%90%20%EC%A0%80%EC%9E%A5%ED%95%98%EB%A9%B4%20%ED%95%AD%EC%83%81%20%EA%B3%B5%EB%B0%B1%EC%9D%B4%20%ED%91%9C%EC%8B%9C%EB%90%A9%EB%8B%88%EB%8B%A4..png)
내 CentOS에서 CPU 사용량과 사용 가능한 메모리 출력 수치를 텍스트 파일로 인쇄하려고 합니다. 하지만 터미널에 입력하면 모든 것이 정상입니다. 그러나 MEMORY 출력을 통해 실행될 때는 crontab
항상 비어 있습니다 .
터미널에 수동으로 입력하세요:
# echo CPU: `top -b -n1 | grep "Cpu(s)" | awk '{print $2 + $4}'`, RAM: `awk '/^Mem/ {print $4}' <(free -m)` >> ~/stats.txt
# cat ~/stats.txt
CPU: 3.8, RAM: 1307
Crontab에서 동일한 명령:
*/10 * * * * echo CPU: `top -b -n1 | grep "Cpu(s)" | awk '{print $2 + $4}'`, RAM: `awk '/^Mem/ {print $4}' <(free -m)` >> ~/stats.txt
그런 다음 텍스트 파일에서:
# cat ~/stats.txt
CPU: 3.4, RAM:
CPU: 4.1, RAM:
CPU: 3.9, RAM:
왜?메모리출력이 항상 비어 있습니까?
답변1
dash
나는 이 굴욕을 이해하지 못하기 때문에 :
<(free -m)
대신 다음을 사용하세요.
free -m | awk '/^Mem/ {print $4}'