/proc/meminfo에서는 VmallocUsed가 0이라고 말합니다. 그렇다면 내 커널 모듈은 어디에 저장되어 있나요?

/proc/meminfo에서는 VmallocUsed가 0이라고 말합니다. 그렇다면 내 커널 모듈은 어디에 저장되어 있나요?

커널 모듈의 코드가 vmalloc() 할당에 저장되어 있다고 생각합니까? (사실 나는 확신한다.커널 코드kvmalloc()이 아닌 vmalloc()을 사용하고 있습니다. 그렇다면 왜 /proc/meminfo0이 없다고 말하는 걸까요 VmallocUsed?

$ grep Vmalloc /proc/meminfo
VmallocTotal:   34359738367 kB
VmallocUsed:           0 kB
VmallocChunk:          0 kB
$ lsmod|head
Module                  Size  Used by
vfio_mdev              16384  0
mdev                   20480  1 vfio_mdev
vfio_iommu_type1       28672  0
vfio                   32768  2 vfio_mdev,vfio_iommu_type1
kvm_intel             237568  0
kvm                   737280  1 kvm_intel
irqbypass              16384  1 kvm
dummy                  16384  0
binfmt_misc            20480  1

답변1

성능상의 이유로 이러한 필드는 Linux 4.4에서 지워졌습니다. glibc와 연결된 프로그램은 시작 시 이 파일을 읽으며 측정 가능한 영향을 미칠 수 있습니다.

https://github.com/torvalds/linux/commit/a5ad88ce8c7fae7ddc72ee49a11a75aa837788e0

관련 정보