반응형
vm환경에서 CentOS를 사용하다가, 특정 프로세스가 메모리점유를 많이해버려서, 메모리가 부족하게 되면,
커널 설정에 따라, oom-killer가 동작을 하고, 원하지 않는 서비스가 제멋대로 kill되어 버리는 상황이 발생한다.
메모리가 부족해도 서비스가 돌아가야 하는 상황에서는, vm.overcommit_memory 값을 변경하여
프로세스가 kill되지 않도록 할 수 있다.
vm.overcommit_memory값은 0~2까지 설정할 수 있으며, 값에 대한 정의는 아래와 같다.
- 0 : 메모리 부족 시 프로세스를 kill
- 1 : 항상 overcommit 허용 (kill하지 않음)
- 2: vm.overcommit_ratio에 설정된 범위만큼만 overcommit을 허용)
여기서는 항상 overcommit을 허용하도록 세팅을 해보도록 하겠다.
$ sysctl vm.overcommit_memory = 1 # 커널 설정 변경 $ echo "vm.overcommit_memory=1" >> /etc/sysctl.conf # 재부팅 시에도 유지할 수 있도록 파일에 추가 $ sysctl -a | grep overcommit_memory # 확인
반응형
'개발 > Linux, System' 카테고리의 다른 글
[Apache2] proxy websocket (0) | 2017.04.26 |
---|---|
[SSH] sshd_config maxsessions (0) | 2017.04.25 |
[Linux] cp 명령어 overwrite (0) | 2016.07.12 |
[Apache2] Rewrite Engine을 이용한 Http Https Redirect (1) | 2016.06.23 |
[Linux] History logging 시간 남기기 (0) | 2016.06.22 |