tencent cloud

Cloud Virtual Machine

동향 및 공지
제품 동향
공용 이미지 업데이트 동향
운영 체제 공식 지원 종료 계획
제품 공지
제품 소개
CVM 개요
제품 장점
기본 개념
리전 및 가용존
신규 사용자 가이드
Service Regions and Service Providers
제품 요금
요금 개요
과금 방식
과금 항목
과금 방식 변경 개요
인스턴스 구매
사양 변경 요금 설명
연체 설명
빠른 시작
사용자 정의 Linux 인스턴스 구매
사용자 정의 Windows 인스턴스 구매
사용자 가이드
운영 가이드 개요
사용 제한 개요
인스턴스
스팟 인스턴스
예약 인스턴스
이미지
스토리지
백업 및 복구
네트워크
보안
비밀번호/키
모니터링 및 알람
운영 관리
편리한 기능
서버 마이그레이션
온라인 마이그레이션
마이그레이션 요금
장애 처리
CVM에 로그인할 수 없는 문제 처리 방법
Windows 인스턴스 로그인 관련 장애
Linux 인스턴스 로그인 관련 장애
기타 인스턴스 로그인 관련 장애
인스턴스 실행 장애
Linux 인스턴스 메모리 장애
네트워크 장애
실습 튜토리얼
CVM 선택 제안
환경 구축
웹사이트 구축
애플리케이션 구축
시각화 페이지 구축
로컬 파일을 CVM에 업로드
네트워크 성능 테스트
기타 실습 튜토리얼
API 참조
History
Introduction
API Category
Making API Requests
Region APIs
Instance APIs
Cloud Hosting Cluster APIs
Image APIs
Instance Launch Template APIs
Placement Group APIs
Key APIs
Security Group APIs
Network APIs
Data Types
Error Codes
보안 및 컴플라이언스
Cloud Access Management(CAM)
네트워크
자주 묻는 질문
리전 및 가용존 문제
요금
인스턴스 문제
스토리지 문제
이미지 관련 문제
서버 마이그레이션 관련 문제
네트워크 관련 문제
보안 관련 문제
운영 체제 관련 문제
운영 및 모니터링 관련 문제
CAM 관련 문제
NTP 서비스 관련 문제
적용 시나리오 관련 문제
Agreements
CVM Service Level Agreements
Red Hat Enterprise Linux Image Service Agreement
Public IP Service Level Agreement
용어집

메모리 소진 전 Linux OOM 발생

PDF
포커스 모드
폰트 크기
마지막 업데이트 시간: 2024-02-02 11:09:48

현상 설명

다음과 같이 Linux CVM에 메모리 사용량이 남은 상황에서 OOM(Out Of Memory)이 트리거됩니다.



예상 원인

가능한 원인은 시스템 내 사용 가능한 메모리가 min_free_kbytes 값보다 적은 것입니다. min_free_kbytes 값은 Linux 시스템에 강제로 남겨지는 최소 유휴 메모리(Kbytes)입니다. 시스템 내 사용 가능한 메모리가 min_free_kbytes 설정 값보다 적은 경우, 시스템은 oom-killer을 실행하거나 강제 재시작되도록 기본 설정되어 있습니다. 구체적인 실행은 커널 매개변수 vm.panic_on_oom 값에 의해 결정됩니다.
vm.panic_on_oom=0인 경우 시스템에 OOM 메시지가 나타나고 oom-killer가 실행되어 메모리 점유율이 가장 높은 프로세스를 종료합니다.
vm.panic_on_oom =1인 경우 시스템이 자동으로 재시작됩니다.

해결 방법

1. 처리 순서를 참고하여 인스턴스 메모리 사용률이 지나치게 높지는 않은지, 프로세스 수에 제한이 있는지 확인합니다.
2. min_free_kbytes 값 설정을 확인하고 올바르게 수정합니다.

처리 순서

1. 지나치게 높은 인스턴스 메모리 사용률을 참고하여 인스턴스 메모리 사용률을 확인합니다. 인스턴스 메모리 사용률이 정상이라면 다음 단계를 실행합니다.
2. 로그 오류 보고 fork: Cannot allocate memory를 참고하여 프로세스 수가 제한을 초과하는지 확인합니다. 초과하지 않는다면 다음 단계를 실행합니다.
3. CVM에 로그인한 후 다음 명령어를 실행해 min_free_kbytes 값을 조회합니다.
sysctl -a | grep min_free
min_free_kbytes 값의 단위는 kbytes입니다. 다음과 같이 min_free_kbytes = 1024000으로 1GB입니다.


4. 다음 명령어를 실행하여 VIM 편집기로 /etc/sysctl.conf 구성 파일을 엽니다.
vim /etc/sysctl.conf
5. i를 눌러 편집 모드로 전환한 다음 vm.min_free_kbytes 설정 항목을 수정합니다. 해당 설정 항목이 존재하지 않는 경우 구성 파일에 직접 추가할 수 있습니다.
설명:vm.min_free_kbytes 값을 전체 메모리의 1% 이하로 수정할 것을 권장합니다.
6. Esc를 누르고 :wq를 입력한 다음, Enter를 눌러 저장하고 VIM 편집기를 종료합니다.
7. 아래의 명령어를 실행하여 설정을 활성화합니다.
sysctl -p


도움말 및 지원

문제 해결에 도움이 되었나요?

피드백