我以为内核模块的代码存储在vmalloc()分配中?(事实上,我确信核码使用的是vmalloc(),而不是kvmalloc())。那么为什么/proc/meminfo
说我没有零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
发布于 2018-11-19 06:40:32
出于性能考虑,这些字段在Linux4.4中被归零。连接到glibc的程序在启动时读取该文件,并且会造成可测量的影响。
https://github.com/torvalds/linux/commit/a5ad88ce8c7fae7ddc72ee49a11a75aa837788e0
https://unix.stackexchange.com/questions/482772
复制