[Linux] Out Of Memory 발생 시 메모리 확인 방법


1. 메모리 확인

$ free -h

위 명령으로 전체 메모리 / 사용 메모리 / 캐시 메모리 / 스왑 메모리 등을 확인할 수 있습니다.

$ top

이 명령으로 CPU / MEM 를 동시에 확인할 수 있으며, 어떤 프로세스의 사용률이 높은지 확인할 수 있습니다.


d5ed1e9a53c17039bf1dc731c67c4c35.png
 

1693d9fad5b2421e8094270012ece62f.png
 


일반적으로 top 명령으로 위처럼 확인할 수 있고, 만약 특정 앱의 프로세스가 메모리 사용률이 높다면, 그 앱을 사용하는 담당자에게 문의해 죽일 수 있습니다.

2. 캐시 메모리의 사용비율이 높은 상황

`$ free -h` 명령으로 확인했을 때 메모리 사용률은 낮은데 이상하게 캐시 메모리의 사용이 높은 경우가 있습니다.

이 경우에는 캐시 메모리를 비워주어 해결할 수 있습니다.

캐시 메모리를 사용한다면 자주 사용되고 있는 프로그램들의 값들을 캐시에 저장하여 사용하기에 메모리 접근 속도를 높일 수 있지만, 다른 프로그램에서 메모리 사용률을 확보하지 못하는 문제가 발생할 수 있습니다.

따라서 주기적으로 캐시 메모리를 비워 메모리를 확보해 주는 것이 좋을 것 같습니다.

$ sync && echo 3 > /proc/sys/vm/drop_caches

이 명령어를 사용하면 캐시 메모리를 비울 수 있고, 메모리 여유 공간을 확보할 수 있습니다.

위 명령에 대해 좀 더 자세히 확인해보자면, 아래와 같습니다.

pagecache 해제

$ echo 1 > /proc/sys/vm/drop_caches

dentries, inodes 해제

$ echo 2 > /proc/sys/vm/drop_caches

pagecache, dentries, inodes 모두 해제

$ echo 3 > /proc/sys/vm/drop_caches

플러싱하기

$ sync
0
0
이 글을 페이스북으로 퍼가기 이 글을 트위터로 퍼가기 이 글을 카카오스토리로 퍼가기 이 글을 밴드로 퍼가기

서버관리

번호 제목 글쓴이 날짜 조회수
24 리눅스 TCP, UDP 방화벽 포트 오픈 확인 관리자 12-19 37
23 Excessive resource usage: 관리자 12-16 36
22 [SCP] 리눅스 터미널 환경에서 다른서버와 파일 복사 관리자 11-04 134
21 리눅스 메모리 부족 문제 해결을 위한 팁 관리자 12-14 1,086
20 Clamav clamd 프로세스가 CPU 및 메모리 사용량이 너무 높으면 관리자 11-30 943
19 리눅스 서버 cache memory 정리 관리자 10-18 586
18 리눅스 메모리 사용량 100% 관리자 10-18 632
17 Excessive resource usage: avahi 관리자 10-16 494
16 [Linux] Out Of Memory 발생 시 메모리 확인 방법 관리자 10-11 648
15 서버 정보 확인 관리자 08-09 407
14 [CentOS] YUM 초기 설치 상태로 초기화 방법 관리자 06-28 2,148
13 리눅스 / 명령어 / du / 디렉토리와 파일 용량 확인하는 명령어 관리자 06-16 1,451
12 CentOS 7에서 CentOS 스트림 8로 변환 관리자 06-02 6,071
11 Docker mac에 설치해서 컨테이너 실행해보기 관리자 05-31 1,357
10 Docker 설치 및 Nvidia docker로 GPU 사용하기 관리자 05-31 785
9 LVM(Logical Volume Manager) 의 개념 관리자 05-31 706
8 Docker 기본 명령어 관리자 05-10 600
7 MySQL/MariaDB, 슬로우 쿼리 원인 분석 및 성능 튜닝하기 관리자 05-09 933
6 리눅스 crontab 사용법 관리자 04-21 625
5 Centos Swap Space 추가 방법, 예제, 명령어 관리자 02-22 842