Skip to content

swap memory

2019.03.14 08:35

WHRIA 조회 수:59

https://blog.2dal.com/tag/oom/

 

vm.overcommit_memory

앞서, malloc() 에서 가용영역을 넘어선 메모리영역을 리턴하는 것이 overcommit이라 설명했는데,
vm.overcommit_memory Kernel Parameter를 통해서 다음과 같이 overcommit rule을 설정할 수 있다.

vm.overcommit설명
0 (디폴트) heuristic에 따라 overcommit여부를 판단. 메모리 확보가 불가능한 경우, 실행중인 프로세스를 강제 종료해서 메모리를 확보
1 무조건 overcommit 허용. 메모리 확보가 불가능한 경우 OOM Killer 동작(0과 같다)
2 overcommit 불가. 메모리가 부족할 경우 에러 발생 [Swap size] + ([RAM size] * vm.overcommit_ratio/100)

대부분의 서버는 다음과 같이 기본 값으로 설정되어 있다.

$ sudo sysctl -n vm.overcommit_memory
0
$ sudo sysctl -n vm.overcommit_ratio
50 

의도하지 않게 프로세스가 OOM Killer에 의해 지속적으로 종료된다면, 메모리 관리를 Kernel heuristic에 맡기기보다 vm.overcommit을 2로 설정하고, overcommit_ratio를 적당한 수치로 조정해볼 필요가 있다.

 

 

혹시 swappiness를 처음 만났다면
  • vm.swappiness = 0 : 스왑 사용안함 (실제로 swap이 disable되지는 않는다. 참고)
  • vm.swappiness = 1 : 스왑 사용 최적화
  • vm.swappiness = 60 : 기본값
  • vm.swappiness = 100 : 적극적으로 스왑 사용

규칙으로 설정되며, 현재 서버의 swappiness 값은 다음 명령으로 확인할 수 있다.

$ sudo sysctl -n vm.swappiness
60
번호 제목 글쓴이 날짜 조회 수
1671 git 특정 버젼 WHRIA 2020.07.11 34
1670 naver rexnet clova AI [1] WHRIA 2020.07.04 228
1669 sql python WHRIA 2020.07.01 180
1668 modprobe WHRIA 2020.06.29 6432
1667 tab 구조 html WHRIA 2020.06.28 79
1666 imagenet classification SOTA WHRIA 2020.06.27 1398
1665 할일 WHRIA 2020.06.24 1464
1664 caffe hdf5 error WHRIA 2020.06.22 187
1663 resnest50 caffe WHRIA 2020.06.21 163
1662 reddit downloader WHRIA 2020.06.21 204
1661 바이두 WHRIA 2020.06.20 627
1660 regression model [6] WHRIA 2020.06.18 167
1659 MS bot framework [3] WHRIA 2020.06.13 99
1658 BERT WHRIA 2020.06.10 3224
1657 영어로 숫자 표현 WHRIA 2020.05.28 4447

Powered by Xpress Engine / Designed by Sketchbook

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소