Bash 프로세스 CPU 사용량 확인

Linux 운영체제에서는 다양한 프로세스가 동작하고 CPU를 사용합니다. 때때로 특정 프로세스가 너무 많은 CPU를 사용하는 경우가 있어 이를 확인하고 조치해야 할 때가 있습니다. 이번 포스트에서는 Bash를 사용하여 Linux에서 프로세스의 CPU 사용량을 확인하는 방법을 알아보겠습니다.

Bash top 명령어 사용하기

top 명령어는 리눅스에서 프로세스의 CPU, 메모리 등의 사용량을 실시간으로 모니터링하는 도구입니다. Bash에서 top 명령어를 사용하여 특정 프로세스의 CPU 사용량을 확인할 수 있습니다.

top -p <PID>

위 명령어를 실행할 때 <PID>에는 확인하고자 하는 프로세스의 PID(Process ID)를 입력합니다. 예를 들어, PID가 1234인 프로세스의 CPU 사용량을 확인하려면 아래와 같이 명령어를 입력합니다.

top -p 1234

top 명령어를 실행하면 실시간으로 CPU 사용량, 메모리 사용량, 실행 시간 등의 정보를 확인할 수 있습니다. 해당 프로세스의 CPU 사용량은 %CPU 열에서 확인할 수 있습니다.

Bash ps 명령어와 grep 결합하기

top 명령어 대신 ps 명령어를 사용하여 프로세스의 CPU 사용량을 확인할 수도 있습니다. ps 명령어는 현재 시스템의 프로세스 정보를 보여줍니다.

ps -p <PID> -o %cpu

ps 명령어를 위와 같이 실행하여 특정 프로세스의 CPU 사용량을 확인할 수 있습니다. <PID>에는 확인하고자 하는 프로세스의 PID를 입력합니다. 예를 들어, PID가 1234인 프로세스의 CPU 사용량을 확인하려면 아래와 같이 명령어를 입력합니다.

ps -p 1234 -o %cpu

이 명령어를 실행하면 해당 프로세스의 CPU 사용량이 출력됩니다.

Bash 스크립트로 CPU 사용량 확인하기

위에서 소개한 top 또는 ps 명령어를 단순히 사용하는 것 외에도, Bash 스크립트를 통해 프로세스의 CPU 사용량을 지속적으로 모니터링하고 조치할 수 있습니다.

아래는 Bash 스크립트 예시입니다.

#!/bin/bash

while true
do
    usage=$(ps -p <PID> -o %cpu | awk 'NR>1')
    echo "CPU 사용량: $usage"
    
    if [[ $(echo "$usage > 10" | bc -l) -eq 1 ]]; then
        echo "CPU 사용량이 너무 높습니다. 조치가 필요합니다."
        # 조치 코드 추가
    fi
    
    sleep 5
done

위 스크립트는 무한 루프를 돌면서 프로세스의 CPU 사용량을 5초마다 확인하고 사용량이 10%를 넘는지 확인합니다. 조건에 따라 조치 코드를 추가하면 됩니다.

이렇게 Bash 스크립트를 사용하면 프로세스의 CPU 사용량을 실시간으로 모니터링하고 필요한 조치를 취할 수 있습니다.

이상으로 Bash를 사용하여 Linux에서 프로세스의 CPU 사용량을 확인하는 방법에 대해 알아보았습니다. 프로세스의 CPU 사용량을 모니터링하여 시스템의 안정성과 성능을 유지하는 데 도움이 될 것입니다.