저는 각각 약 20명의 사용자가 있는 일부 컴퓨팅 서버를 관리하고 있습니다. 이를 사용하여 htop
현재 리소스 사용량을 확인하지만 특정 사용자에 대한 누적 메모리 및 CPU 사용량에 대한 로그가 있으면 매우 도움이 될 것입니다. htop
Bash나 Bash를 통해 이를 보거나 기록할 수 있는 방법이 있습니까 ?
답변1
이를 사용하여 top -bn1 -U {user}
누적 사용량을 얻기 위해 처리할 수 있는 파일을 생성할 수 있습니다.
이 매개변수를 -bn1
사용하면 top
작업이 비대화형 모드로 실행되고 완료되면 한 번만 출력됩니다. 그런 다음 추가 처리를 위해 해당 출력을 어디든 파이프할 수 있습니다.
예를 들어,
top -bn1 -U {user} > user_log.txt
다른 스크립트에서 추가 처리를 하려면
아니면 다음과 같이 할 수도 있습니다.
top -bn1 -U {user} | awk {file_processing_script} >> user_log.txt
file_processing_script
이 경우 awk
스크립트는 원하는 방식으로 데이터를 처리할 수 있습니다. 한 가지 아이디어는 awk 'NR>7{cpu += $9; mem += $10} END {printf "%.2f\t%.2f\n", cpu, mem}'
실행 중에 특정 사용자의 총 CPU 및 메모리 사용량을 간단히 출력하는 것입니다. 이들 중 몇 가지를 추가하면 사용자의 CPU 및 메모리 사용량을 보여주는 멋진 테이블이 생성됩니다.
답변2
나는 당신이 원하는 것 같아요 :htop -u someusername