![/proc/meminfo에서는 VmallocUsed가 0이라고 말합니다. 그렇다면 내 커널 모듈은 어디에 저장되어 있나요?](https://linux55.com/image/142341/%2Fproc%2Fmeminfo%EC%97%90%EC%84%9C%EB%8A%94%20VmallocUsed%EA%B0%80%200%EC%9D%B4%EB%9D%BC%EA%B3%A0%20%EB%A7%90%ED%95%A9%EB%8B%88%EB%8B%A4.%20%EA%B7%B8%EB%A0%87%EB%8B%A4%EB%A9%B4%20%EB%82%B4%20%EC%BB%A4%EB%84%90%20%EB%AA%A8%EB%93%88%EC%9D%80%20%EC%96%B4%EB%94%94%EC%97%90%20%EC%A0%80%EC%9E%A5%EB%90%98%EC%96%B4%20%EC%9E%88%EB%82%98%EC%9A%94%3F.png)
커널 모듈의 코드가 vmalloc() 할당에 저장되어 있다고 생각합니까? (사실 나는 확신한다.커널 코드kvmalloc()이 아닌 vmalloc()을 사용하고 있습니다. 그렇다면 왜 /proc/meminfo
0이 없다고 말하는 걸까요 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