[linux] 리눅스 시스템 리소스 사용량을 모니터링하는 방법

top 커맨드 사용

리눅스 배포판에 기본 포함되는 리소스 모니터링 커맨드입니다.

터미널에서 top 커맨드를 실행하면 다음과 같은 리소스 사용 현황을 표시하는 대시보드가 실행됩니다.

현재 실행중인 프로세스 목록과 함께 상단에 부팅 후 운영 시간, CPU 사용량, 메모리 사용 정보, 스왑 공간 정보가 실시간으로 표시됩니다.

모니터링 정보 업데이트 시간은 3초입니다. 갱신 주기를 변경하려면 -d 옵션으로 갱신 시간을 초 단위로 표기해주면 됩니다. 1은 1초단위로 사용량 정보를 갱신합니다.

top -d 1

atop 커맨드 사용

배포한에 따라 기본 설치되어 있지 않기때문에 패키지 관리자로 설치를 해야 합니다.

우분투 기준으로 다음 커맨드로 설치할 수 있습니다.

sudo apt install atop

atop은 top과 유사하지만 top보다 추가적인 기능과, 다양한 추가 정보가 표시되는 장점이 있습니다. 조금 더 상세한 리소스 사용 모니터링을 하고 싶으면 atop이 더 좋은 선택이 될 수 있습니다.

atop 커맨드를 실행하면 다음과 같은 리소스 모니터링 화면이 표시됩니다.

아주 많은 정보가 표시되기 때문에 처음에는 표시 정보를 구분하기 힘든 단점이 있습니다. atop 이 표시하는 정보의 종류는 다음과 같습니다.

  • 상단 라인은 서버 이름과 마지막 데이터 샘플의 날짜 및 시간을 표시합니다.
  • PRC: 시스템 호출(sys) 및 사용자 공간(user)에서 소요된 시간과 함께 일반 통계가 표시됩니다. 또한 전체 프로세스 수(#proc)와 좀비 프로세스 수(#zombie)도 함꼐 표시됩니다.
  • CPU: 각 CPU에 대한 통계가 표시됩니다. 각 행은 CPU가 시스템 호출(sys), 사용자 공간 처리(user), 하드웨어 인터럽트 처리(irq), 아무 작업하지 않는 상태(idle) 및 디스크 대기(cpuXXX w) 등 여러 작업에 얼마나 많은 시간을 사용했는지 백분율로 표시합니다.
  • CPL: 지난 1, 5 및 15분 동안의 가중 로드 평균이 표시됩니다. 또한 컨텍스트 전환 수(csw)도 표시됩니다. 컨텍스트 전환은 프로세서가 커널 공간과 사용자 공간 간에 전환될 때 발생합니다.
  • MEM: 메모리 사용 정보가 표시.
  • SWP: 스왑 메모리 사용 정보가 표시.
  • PAG: 메모리 페이징 빈도를 표시하며, 메모리 부족 상태가 아닌 정상 서버에는 거의 사용 빈도가 없습니다.
  • DSK: 디스크 사용 정보를 표시
  • NET: 각 네트워크 인터페이스에 대한 사용 통계를 표시.