리눅스 시스템 리소스 모니터링은 서버의 성능과 안정성을 유지하기 위해 중요한 작업입니다. 시스템의 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
스크립트를 활용하여 간단하게 시스템 리소스를 모니터링해보세요.