얼마전에 리눅스 서버에서 디스크 사용량을 체크하는 방법에 대해서 살펴본 적이 있는데요.
무료로 사용하는 오라클 프리티어 서버는 메모리 및 CPU도 한정되어 있어 많은 프로그램을 백그라운드이서 수행하는 경우 메모리 및 CPU 사용량이 한계에 도달하여 전체적으로 느려지거나 수행이 어려운 경우가 발생할 수 있습니다.
리눅스 서버 디스크 사용량을 체크하는 방법은 아래 포스팅을 통해 확인하실 수 있습니다.
2022.01.28 - [코딩스토리/리눅스] - 오라클 리눅스 - 저장공간 / 폴더 및 파일 용량 체크하기
목차 - 클릭하면 이동합니다.
리눅스 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 - [코딩스토리/리눅스] - 리눅스 실행중인 프로세스 검색 및 강제 종료하기
마치며
무료로 사용할 수 있는 오라클 클라우드 서버에서 파이썬 프로그램을 4~5개 정도 사용하는데는 큰 무리는 없는 같아 보입니다.
하지만 갑자기 서버가 느려지거나 프로세스 수행이 안되는 경우에는 메모리나 CPU를 점검하면 원인을 알고 대처할 수 있게 되오니 서버 운영에 참고하시면 좋을 것 같습니다.
블로그를 구독하면 소식을 조금 더 빨리 받아보실 수 있습니다. 감사합니다.
'코딩스토리 > 리눅스' 카테고리의 다른 글
오라클 리눅스 8 - PostgreSQL 13 설정하기 (0) | 2022.02.09 |
---|---|
오라클 리눅스 8 - PostgreSQL 13 데이터베이스 설치하기 (4) | 2022.02.07 |
리눅스 VI 명령어 - VI에디터 기본 필수 명령어 (0) | 2022.02.07 |
오라클 리눅스 - 저장공간 / 폴더 및 파일 용량 체크하기 (0) | 2022.01.28 |
리눅스 실행중인 프로세스 검색 및 강제 종료하기 (0) | 2022.01.24 |
오라클 리눅스 8 - 오라클 클라이언트 설치하기 (5) | 2022.01.20 |