LINUX 메모리 높이, OOM - KILLER 문제 해결 촉발
최근 리 눅 스 의 메모리 문제 두 건 중 하 나 는 oom - killer 를 촉발 하여 시스템 이 끊 겼 다 는 것 이다.
1. 우선 이 시스템 의 버 전이 32 비트 인지 확인
- #uname -aLinux alarm 2.6.9-67.ELsmp #1 SMP Wed Nov 7 13:58:04 EST 2007 i686 i686 i386
2. 32 비트 Linux 의 메모리 관리 구 조 를 알 아 보 겠 습 니 다.
- # DMA: 0x00000000 - 0x00999999 (0 - 16 MB)# LowMem: 0x01000000 - 0x037999999 (16 - 896 MB) - size: 880MB# HighMem: 0x038000000 - < >
커 널 은 low memory 를 사용 하여 모든 메모리 분 배 를 추적 합 니 다. 그러면 16GB 메모리 시스템 이 4GB 메모리 시스템 보다 더 많은 low memory 를 소모 해 야 합 니 다. low memory 가 다 소모 되면 시스템 에 남 은 메모리 가 있 더 라 도 oom - killer 를 촉발 합 니 다.2.6 커 널 에 서 는 메모리 사용량 이 가장 높 은 프로 세 스 를 죽 이기 때문에 sshd 등 프로 세 스 가 죽 어 시스템 에 로그 인 할 수 없습니다.
- -bash-3.00# free -lm
- total used free shared buffers cached
- Mem: 2026 1973 52 0 36 1303
- Low: 874 823 51
- High: 1151 1150 1
- -/+ buffers/cache: 633 1392
- Swap: 3067 142 2924
4. 그래서 우 리 는 LowMem 을 보호 하고 2.6 커 널 에 lower 를 도입 해 야 합 니 다.zone_protection, 이 는 커 널 이 low memory 를 보호 하고 메모 리 를 할당 할 때 high memory 에서 분 배 를 우선 고려 할 것 입 니 다.
- -bash-3.00# cat /proc/sys/vm/lower_zone_protection0-bash-3.00#echo 400 > /proc/sys/vm/lower_zone_protection
또 다른 문 제 는 24G 메모리 시스템 으로 남 은 메모리 가 50m 도 안 된다 는 것 이다.
1. 이 시스템 의 버 전이 64 비트 인지 확인
- # uname -aLinux gxgd-nms-app 2.6.18-194.el5xen #1 SMP Tue Mar 16 22:01:26 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux
2. ps 로 각 프로 세 스 의 메모 리 를 보면 대략 4G 를 차지 합 니 다. 대부분의 메모 리 는 Page Cache 가 차지 합 니 다.Linux 커 널 의 전략 은 메모리 cache 파일 시스템 의 데 이 터 를 최대한 이용 하여 IO 속 도 를 높이 는 것 입 니 다. 시스템 에 프로 세 스 가 더 큰 메모 리 를 필요 로 할 때 Page Cache 를 자동 으로 방출 하지만 제때에 방출 되 지 않 거나 방출 되 는 메모 리 는 파편 이 프로 세 스 의 메모리 수요 에 만족 하지 않 기 때 문 입 니 다.
그래서 PageCache 의 상한 선 을 제한 할 수 있 는 방법 이 필요 합 니 다.
Linux 는 이러한 매개 변 수 를 제공 합 니 다 minfree_kbytes, 시스템 이 메모리 의 밸브 값 을 회수 하기 시작 하 는 지 확인 하고 시스템 의 남 은 메모 리 를 제어 합 니 다.값 이 높 을 수록 커 널 이 일찍 메모 리 를 회수 하기 시작 할 수록 남 은 메모리 가 높 습 니 다.
- [root@zyite-app01 root]# cat /proc/sys/vm/min_free_kbytes163840echo 963840 > /proc/sys/vm/min_free_kbytes
기타 선택 가능 한 임시 해결 방법:
oom - killer 닫 기
cat /proc/sys/vm/oom-kill
echo "0" > /proc/sys/vm/oom-kill
vi /etc/sysctl.conf
vm.oom-kill = 0
2. cache 비우 기 (선택 가능) echo 1 > / proc / sys / vm / dropcaches
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
용감한 바로 가기 및 우분투 응용 프로그램안녕하세요 여러분, 이 기사에서는 모든 사이트에서 pwa를 생성하고 실행기 응용 프로그램으로 추가하는 방법을 설명하고 싶습니다. 일부 웹사이트는 PWA로 설치를 허용하지 않지만 유사한 애플리케이션을 원합니다. 1. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.