Linux 커널과 ZFS가 메모리를 잡아먹습니다(2x arc_max).

Linux 커널과 ZFS가 메모리를 잡아먹습니다(2x arc_max).

첫째, 내 커널이 너무 많은 메모리를 사용하고 있는 것 같습니다.

$ grep Slab /proc/meminfo
Slab:           21794184 kB

바라보다모든/proc/meminfo 그리고/proc/slabinfo

$ free -h
              total        used        free      shared  buff/cache   available
Mem:           31Gi        22Gi       3.6Gi       3.0Mi       5.1Gi       8.2Gi
Swap:         8.0Gi        12Mi       8.0Gi

12GiB의 메모리를 사용하도록 zfs를 구성했지만 그보다 조금 더 많이 사용하는 것 같습니다. 이로 인해 arc_prune kthreads가 발생합니다.모든 코어를 영구적으로 최대화zfs_arc_max는 시작 이후 변경되지 않았습니다. 관련이 있는 경우 raidz에 4x 8TB 드라이브가 있습니다. 에서 arc_summary.py:

ARC Size:                               103.98% 12.48   GiB
        Target Size: (Adaptive)         100.00% 12.00   GiB
        Min Size (Hard Limit):          8.14%   999.96  MiB
        Max Size (High Water):          12:1    12.00   GiB

더보기...

이로 인해 커널은 설명할 수 없을 정도로 약 9GiB의 메모리를 잃었습니다. 나는 이러한 문제(내 CPU 및 커널 메모리 공간을 최대화하는 zfs)가 관련되어 있다고 확신하므로 이를 질문으로 게시했습니다.

저는 우분투 20.04 LTS(리눅스 5.4.0-65-generic, zfs-0.8.3-1ubuntu12.7)를 사용하고 있습니다.

문제는 실행 후 잠시 사라지 echo 3 > /proc/sys/vm/drop_caches지만 고치기가 어렵습니다.

어떻게 되어가나요? 팁을 어디서 구해야 할지 모르겠습니다.

관련 정보