25.3. 가상 메모리 매개변수


가상 메모리 매개변수는 /proc/sys/vm 디렉터리에 나열됩니다. 다음은 사용 가능한 가상 메모리 매개변수입니다.

vm.dirty_ratio
백분율 값입니다. 전체 시스템 메모리의 이 백분율이 수정되면 시스템에 디스크 수정 쓰기가 시작됩니다. 기본값은 20%입니다.
vm.dirty_background_ratio
백분율 값입니다. 전체 시스템 메모리의 이 백분율이 수정되면 시스템에서 백그라운드에서 디스크에 수정 사항 쓰기를 시작합니다. 기본값은 10%입니다.
vm.overcommit_memory
대규모 메모리 요청이 수락 또는 거부되는지 여부를 결정하는 조건을 정의합니다. 기본값은 0입니다. 기본적으로 커널은 가상 메모리 할당 요청이 현재 메모리 양(total + swap)에 적합한지 확인하고 대규모 요청만 거부합니다. 그렇지 않으면 가상 메모리 할당이 부여되고 메모리 과다 할당을 허용할 수 있습니다.
overcommit_memory 매개변수의 값 설정
  • 이 매개변수를 1로 설정하면 커널은 메모리 과다 할당 처리를 수행하지 않습니다. 이렇게 하면 메모리 과부하 가능성이 높지만 메모리 집약적인 작업의 성능이 향상됩니다.
  • 이 매개변수를 2로 설정하면 커널은 사용 가능한 총 스왑 공간의 합계와 overcommit_ratio 에 지정된 물리적 RAM의 백분율보다 크거나 같은 메모리 요청을 거부합니다. 이 설정은 메모리 과다 할당 위험을 줄이고 스왑 파티션이 실제 메모리보다 큰 시스템에만 사용합니다.
vm.overcommit_ratio
overcommit_memory 가 2로 설정될 때 고려되는 물리적 RAM의 백분율을 지정합니다. 기본값은 50입니다.
vm.max_map_count
프로세스에서 사용할 수 있는 최대 메모리 맵 영역 수를 정의합니다. 기본값은 65530입니다. 애플리케이션에 더 많은 메모리 맵 영역이 필요한 경우 이 값을 늘립니다.
vm.min_free_kbytes
예약된 여유 페이지 풀의 크기를 설정합니다. 또한 Linux 커널의 페이지 회수 알고리즘의 동작을 제어하는 min_page,low_pagehigh_page 임계값을 설정합니다. 또한 시스템에서 사용 가능한 최소 킬로바이트 수를 유지하도록 지정합니다. 이렇게 하면 각 낮은 메모리 영역에 대한 특정 값이 계산되며, 각 영역에는 해당 크기와 비례하여 여러 개의 예약된 사용 가능한 페이지가 할당됩니다.
vm.min_free_kbytes 매개변수의 값 설정
  • 매개변수 값을 늘리면 애플리케이션 작업 세트 사용 가능한 메모리가 효과적으로 줄어듭니다. 따라서 atomic 컨텍스트에서 드라이버 버퍼를 할당해야 하는 커널 기반 워크로드에만 사용할 수 있습니다.
  • 매개 변수 값을 줄이면 시스템에서 메모리가 크게 조정되면 커널에서 시스템 요청을 서비스할 수 없게 될 수 있습니다.

    주의

    극단적인 값은 시스템 성능에 영향을 미칠 수 있습니다. vm.min_free_kbytes 를 매우 낮은 값으로 설정하면 시스템이 메모리를 효과적으로 회수하지 못하여 시스템이 충돌하고 서비스 중단 또는 기타 커널 서비스를 서비스하지 못할 수 있습니다. 그러나 vm.min_free_kbytes 를 너무 높게 설정하면 시스템 회수 활동이 크게 증가하여 false 직접 회수 상태로 인해 할당 대기 시간이 발생합니다. 이로 인해 시스템이 메모리 부족 상태가 될 수 있습니다. vm.min_free_kbytes 매개변수는 min_pages 라는 페이지 회수 워터마크도 설정합니다. 이 워터마크는 페이지 회수 알고리즘을 관리하는 두 개의 다른 메모리 워터마크, low_pageshigh_pages 를 결정할 때 요인으로 사용됩니다.

  • /proc/PID/oom_adj 이벤트에서 시스템이 메모리 부족하고 panic_on_oom 매개변수가 0으로 설정된 경우 oom_killer 함수는 시스템을 복구할 때까지 가장 높은 oom_score 프로세스부터 프로세스를 종료합니다. oom_adj 매개변수는 프로세스의 oom_score 를 결정합니다. 이 매개변수는 프로세스 ID별로 설정됩니다. 값 -17 은 해당 프로세스의 oom_killer 를 비활성화합니다. 기타 유효한 값의 범위는 -16 에서 15 사이입니다.

    참고

    조정된 프로세스에서 생성한 프로세스는 해당 프로세스의 oom_score 를 상속합니다.

vm.swappiness
0에서 200 사이의 swappiness 값은 시스템이 익명 메모리 풀 또는 페이지 캐시 메모리 풀에서 메모리를 회수하는 것을 선호하는 정도를 제어합니다.
swappiness 매개변수의 값 설정
  • 값이 클수록 file-mapped driven workloads를 선호하고 덜 적극적으로 액세스하지 않는 프로세스의 익명 매핑된 메모리를 스왑 아웃합니다. 이는 서비스 요청의 I/O 대기 시간을 줄이기 위해 메모리에 상주할 스토리지의 파일과 같이 데이터에 의존하는 파일 서버 또는 스트리밍 애플리케이션에 유용합니다.
  • 낮은 값은 페이지 캐시(파일 매핑된 메모리)를 회수하는 동안 익명 매핑 기반 워크로드를 선호합니다. 이 설정은 파일 시스템 정보에 크게 의존하지 않는 애플리케이션, 수학적 및 번호 분석 애플리케이션 등 동적으로 할당 및 개인 메모리를 많이 사용하며 QEMU와 같은 하드웨어 가상화 감독자는 거의 없습니다. vm.swappiness 매개변수의 기본값은 60입니다.

    주의

    vm.swappiness 를 0으로 설정하면 익명 메모리를 디스크로 적극적으로 교체하지 않으므로 oom_killer 함수가 메모리 또는 I/O 집약적 워크로드 중에 프로세스를 종료할 가능성이 높아집니다.

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat
맨 위로 이동