내 시스템의 "워터마크" 메모리 예약은 얼마나 됩니까?

내 시스템의 "워터마크" 메모리 예약은 얼마나 됩니까?

교환성

이 컨트롤은 커널이 메모리 페이지를 얼마나 적극적으로 교환하는지 정의합니다. 값이 높을수록 공격성이 증가하고, 값이 낮을수록 교환량이 감소합니다. 값이 0이면 사용 가능한 페이지 및 파일 지원 페이지 수가 다음 값보다 작아질 때까지 커널이 스와핑을 시작하지 않도록 지시합니다.최고 워터마크지역에서.

--linux-5.0/documentation/sysctl/vm.txt

사용 가능한 메모리

스왑 없이 새 응용 프로그램을 시작하는 데 사용할 수 있는 메모리 양을 추정합니다. MemFree, SReclaimable, 파일 LRU 목록 크기 및낮은 워터마크모든 분야에서. 이 추정치는 시스템이 제대로 작동하려면 일부 페이지 캐싱이 필요하다는 점과 프로젝트가 사용 중일 때 모든 회수 가능 슬래브가 회수 가능하지는 않다는 점을 고려합니다. 이러한 요소의 영향은 시스템마다 다릅니다.

--linux-5.0/documentation/filesystem/proc.txt(문서 /proc/meminfo).

내 시스템의 현재 로우 워터마크와 하이 워터마크 값은 무엇입니까? 예를 들어 백분율로 표현하려면 어떤 값을 기준으로 합니까?

답변1

워터마크는 low페이지(x86 기준 4096바이트)에 표시되는 값의 합입니다.high/proc/zoneinfo

내 8GB 시스템에서는 대부분의 페이지가 DMA32 영역과 일반 영역으로 나누어져 있습니다. (모든 것이 노드 0에 속합니다.누마체계).

# cat /proc/zoneinfo
Node 0, zone      DMA
...
  pages free     3961
        min      33
        low      41
        high     49
        spanned  4095
        present  3996
        managed  3961
...
Node 0, zone    DMA32
  pages free     139960
        min      7184
        low      8980
        high     10776
        spanned  1044480
        present  888973
        managed  866327
...
Node 0, zone   Normal
  pages free     33907
        min      31449
        low      33868
        high     36287
        spanned  1173504
        present  1173504
        managed  1140349
...

워터마크는 비례합니다 managed.

일반적으로 내 시스템의 워터마크는 1%에서 3% 사이입니다.

바라보다__setup_per_zone_wmarks(). (반품free_area_init_core(),set_dma_reserve(), 그리고 제출mm: 구조 영역에 새 필드 "management_pages"를 도입합니다..)

커널은 동적으로 워터마크를 추가할 수 있습니다(부스트_워터마크()) 필요하다면.

동작은 다음을 통해 조정될 수 watermark_boost_factor있습니다 watermark_scale_factor.문서/sysctl/vm.txt. 배율 계수의 기본값은 0.1%이고 향상 계수의 기본값은 배율 계수의 150%입니다.

min내 시스템에서는 대부분 지역별 min워터마크에 비례하여 워터마크가 설정됩니다 min_free_kbytes. 커널은 기본값 min_free_kbytes67584를 계산합니다. 관련된:min_free_kbytes이 값을 계산하는 방법을 설명하세요..

"일반" 영역의 최소 워터마크가 왜 31449페이지 = 125796KiB로 표시되는지 모르겠습니다. 이는 소스 코드와 모순되는 것 같습니다. 지금까지는 이것이 버그나 하드웨어 오류라고밖에 생각할 수 없습니다. 이 질문을 보세요:내 최저 및 최고 워터마크가 Documentation/sysctl/vm.txt의 예측보다 높은 것 같습니다.

관련 정보