728x90
반응형

리눅스 실행중인  프로세스가 없는데도 메모리 점유 하는 상황이 발생하는 경우에 대한 해결방법을 공유 합니다. 

 

시스템 메모리 사용량 확인 

특성 프로세스가 메모리를 점유하지 않음 에도 사용 가능한 free 메모리가 넉넉지 않다. 

  • free -h  : h 옵션은 human read 를 나타낸다.

  • top 명령으로 메모리 사용량 확인 

해결 방법

/proc/sys/vm/drop_caches 수행을 통해  메모리 반환이 가능 하다. 

리눅스 Kernels 2.6.16 이상에서 사용 가능 하며 

명령을 수행 하기 전에 sync 명령을 수행 하면 캐시 메모리에 올라간 데이터를 disk 로 내리는 작업을 진행 한다. 

pagecache 비우기

echo 1 > /proc/sys/vm/drop_caches

dentries and inodes 비우기

echo 2 > /proc/sys/vm/drop_caches

pagecache, dentries and inodes 한번에 비우기

echo 3 > /proc/sys/vm/drop_caches

 

테스트 결과 

[root@centos7:/root]$ sync
[root@centos7:/root]$ free -h
              total        used        free      shared  buff/cache   available
Mem:            15G        982M        2.8G        314M         11G         13G
Swap:          7.8G         15M        7.8G
[root@centos7:/root]$ echo 1 > /proc/sys/vm/drop_caches
[root@centos7:/root]$ free -h
              total        used        free      shared  buff/cache   available
Mem:            15G        981M         14G        314M        447M         13G
Swap:          7.8G         15M        7.8G
[root@centos7:/root]$ echo 2 > /proc/sys/vm/drop_caches 
[root@centos7:/root]$ echo 3 > /proc/sys/vm/drop_caches 
[root@centos7:/root]$ free -h
              total        used        free      shared  buff/cache   available
Mem:            15G        978M         14G        314M        445M         13G
Swap:          7.8G         15M        7.8G
728x90
반응형

+ Recent posts