리눅스 시스템 리소스 모니터링

리눅스 시스템 리소스 모니터링은 서버의 성능과 안정성을 유지하기 위해 중요한 작업입니다. 시스템의 CPU, 메모리, 디스크 및 네트워크 리소스를 모니터링하면서 이러한 자원의 사용량과 성능을 추적할 수 있습니다. 이를 통해 시스템의 현재 상태를 파악하고, 자원 부족 문제를 사전에 예방하거나 문제가 발생한 경우 빠르게 대응할 수 있습니다.

리눅스 환경에서 시스템 리소스를 모니터링하기 위해 다양한 도구와 방법이 있습니다. 그 중에서도 bash 스크립트를 사용하여 간단하게 시스템 리소스 모니터링을 구현할 수 있습니다.

CPU 모니터링

top 명령어를 사용하여 현재 CPU 사용량 및 프로세스별 CPU 점유율을 확인할 수 있습니다. 다음은 top 명령어를 이용한 간단한 CPU 모니터링 스크립트의 예시입니다.

#!/bin/bash
while true; do
    clear
    top -b -n 1 | grep Cpu
    sleep 1
done

이 스크립트는 1초마다 top 명령어를 실행하여 현재 CPU 사용량 및 특정 프로세스의 CPU 점유율을 출력합니다.

메모리 모니터링

free 명령어를 사용하여 현재 시스템의 메모리 사용량을 확인할 수 있습니다. 다음은 free 명령어를 이용한 간단한 메모리 모니터링 스크립트의 예시입니다.

#!/bin/bash
while true; do
    clear
    free -m
    sleep 1
done

이 스크립트는 1초마다 free -m 명령어를 실행하여 현재 메모리 사용량을 출력합니다.

디스크 모니터링

df 명령어를 사용하여 시스템의 디스크 사용량을 확인할 수 있습니다. 다음은 df 명령어를 이용한 간단한 디스크 모니터링 스크립트의 예시입니다.

#!/bin/bash
while true; do
    clear
    df -h
    sleep 1
done

이 스크립트는 1초마다 df -h 명령어를 실행하여 현재 디스크 사용량을 출력합니다.

네트워크 모니터링

ifstat 명령어를 사용하여 시스템의 네트워크 사용량을 확인할 수 있습니다. 다음은 ifstat 명령어를 이용한 간단한 네트워크 모니터링 스크립트의 예시입니다.

#!/bin/bash
while true; do
    clear
    ifstat
    sleep 1
done

이 스크립트는 1초마다 ifstat 명령어를 실행하여 현재 네트워크 사용량을 출력합니다.

종합 모니터링

위에서 소개한 CPU, 메모리, 디스크 및 네트워크 모니터링을 한 번에 수행하는 스크립트를 만들 수도 있습니다. 이렇게 만든 스크립트를 이용하면 여러 리소스를 한 눈에 모니터링할 수 있습니다. 다음은 종합 모니터링 스크립트의 예시입니다.

#!/bin/bash
while true; do
    clear
    echo "---- CPU Usage ----"
    top -b -n 1 | grep Cpu
    echo "---- Memory Usage ----"
    free -m
    echo "---- Disk Usage ----"
    df -h
    echo "---- Network Usage ----"
    ifstat
    sleep 1
done

이 스크립트는 1초마다 CPU, 메모리, 디스크 및 네트워크 사용량을 출력합니다.

리눅스 시스템 리소스 모니터링은 서버 운영과 유지보수에 필수적인 작업입니다. 이를 통해 시스템의 성능을 최적화하고 안정성을 확보할 수 있습니다. bash 스크립트를 활용하여 간단하게 시스템 리소스를 모니터링해보세요.