カーネルモジュールのコードがvmalloc()割り当てに格納されていると思いますか? (事実私は確信しています。カーネルコードkvmalloc() ではなく vmalloc() を使用しています。それでは、なぜ/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
答え1
パフォーマンス上の理由から、これらのフィールドはLinux 4.4でクリアされました。 glibcに関連付けられたプログラムは起動時にこのファイルを読み込み、測定可能な影響を与える可能性があります。
https://github.com/torvalds/linux/commit/a5ad88ce8c7fae7ddc72ee49a11a75aa837788e0