코딩스토리/리눅스

오라클 리눅스 8 - CPU 및 메모리 사용량 체크하기

Tech&Fin 2022. 2. 3. 16:37
반응형

얼마전에 리눅스 서버에서 디스크 사용량을 체크하는 방법에 대해서 살펴본 적이 있는데요.

 

무료로 사용하는 오라클 프리티어 서버는 메모리 및 CPU도 한정되어 있어 많은 프로그램을 백그라운드이서 수행하는 경우 메모리 및 CPU 사용량이 한계에 도달하여 전체적으로 느려지거나 수행이 어려운 경우가 발생할 수 있습니다.

 

리눅스 서버 디스크 사용량을 체크하는 방법은 아래 포스팅을 통해 확인하실 수 있습니다.

 

2022.01.28 - [코딩스토리/리눅스] - 오라클 리눅스 - 저장공간 / 폴더 및 파일 용량 체크하기

 

오라클 리눅스 - 저장공간 / 폴더 및 파일 용량 체크하기

오라클 프리티어를 사용하여 무료 서버를 사용하다보면 한정되어 있는 부트볼륨의 용량이 부족할 수 있기 때문에 자주 체크하고 필요한 경우 정리를 해 주는 과정이 필요한데요. 그러기 위해서

technfin.tistory.com

 

 

목차 - 클릭하면 이동합니다.

     

    리눅스 CPU 및 메모리 사용량 체크하기

    메모리 사용량 체크하기

    free -h

    리눅스에서 메모리 정보를 쉽게 보게 위해서는 free라는 명령어를 사용하면 되는데요. 사람이 보기 편한 단위로 보여주는 -h 옵션을 사용하면 파악하기 용이합니다.

     

    - total : 설치된 메모리의 총 크기
    - used : 현재 사용중인 메모리 용량
    - free : total에서 used 와 buff/cache로 쓰이는 부분을 제외한 사용 가능한 용량
    - shared : 메모리 파일 시스템 등 여러 프로세스에서 공유하여 사용하는 메모리 용량
    - buff/cache : 빠른 처리를 위해 버퍼 및 캐시로 사용되는 메모리 용량
    - available : 스와핑 없이 사용할 수 있는 메모리 용량

    현재 테크앤핀에서 사용하고 있는 서버는 총 682MB의 메모리가 설치되어 있고 51MB의 free 용량과 289MB의 buff/cache를 사용할 수 있습니다. 그 외에도 디스크를 이용하여 부족한 메모리를 충당하는 스왑 메모리로 1.1GB를 사용할 수 있습니다.

     

    CPU 사용량 체크하기

    top

    리눅스에서 CPU 사용량을 체크하려면 top 명령어를 사용하면 됩니다. 여기서 메모리까지 체크가 되며 프로세스별로 사용하는 양도 체크가 됩니다.

     

    - us : 프로세스 유저 영역의 CPU 사용률
    - sy : 프로세스 커널 영역의 CPU 사용률
    - ni : 프로세스 우선순위 설정에 사용하는 CPU 사용률
    - id : 사용하고 있지 않는 비율
    - wa : IO가 완료될 때까지 기다리고 있는 CPU 비율
    - hi : 하드웨어 인터럽트에 사용되는 CPU 사용률
    - si : 소프트웨어 인터럽트에 사용되는 CPU 사용률
    - st : CPU를 VM에서 사용해서 대기하고 있는 CPU 비율

    세번째 라인의 %Cpu(s) 에서 CPU의 사용량을 확인할 수 있으며 us + sy가 현재 사용량, id(idle)의 비율이 현재 사용할 수 있는 가용 CPU라고 생각하시면 됩니다.

     

    - PID : 프로세스 ID
    - USER : 프로세스 실행 ID
    - PR : 프로세스 우선순위
    - NI : NICE Value. 마이너스 Nice value일수록 우선순위가 높음.
    - VIRT : 가상 메모리의 사용량 (SWAP+RES)
    - RES : 현재 페이지가 상주하고 있는 크기(Resident Size)
    - SHR : 분할된 페이지, 프로세스에 의해 사용된 메모리를 나눈 메모리의 총 합계.
    - S : 프로세스 상태 - S(Sleeping), R(Running), W(Swapped out process), Z(Zombies)
    - %CPU : 프로세스의 CPU 사용율
    - %MEM : 프로세스의 메모리 사용율
    - TIME+ : 프로세스 시작 후 경과된 총 시간
    - COMMAND : 실행한 명령어

    하단의 상세 내역에서는 프로세스별 사용률을 확인할 수 있습니다. PID는 프로세스 ID이기 때문에 kill -9 명령어를 통해 강제 종료 시킬 수 있으며 top 명령어를 사용중에는 k를 누르면 프로세스를 강제종료 할 수 있습니다.

     

    리눅스 명령어 상의 프로세스 강제 종료 방법은 아래 포스팅을 참고하시면 됩니다.

     

    2022.01.24 - [코딩스토리/리눅스] - 리눅스 실행중인 프로세스 검색 및 강제 종료하기

     

    리눅스 실행중인 프로세스 검색 및 강제 종료하기

    리눅스에서 프로그램을 crontab이나 백그라운드로 실행하면 프로세스가 눈에 보이지 않는 상태에서 수행되는데요. 이번 시간에는 수행되고 있는 프로세스를 찾아서 강제로 종료하는 방법에 대해

    technfin.tistory.com

     

    마치며

    무료로 사용할 수 있는 오라클 클라우드 서버에서 파이썬 프로그램을 4~5개 정도 사용하는데는 큰 무리는 없는 같아 보입니다.

     

    하지만 갑자기 서버가 느려지거나 프로세스 수행이 안되는 경우에는 메모리나 CPU를 점검하면 원인을 알고 대처할 수 있게 되오니 서버 운영에 참고하시면 좋을 것 같습니다.

     

    블로그를 구독하면 소식을 조금 더 빨리 받아보실 수 있습니다. 감사합니다.

    반응형