云计算场景下,服务器上内存宝贵,只有尽可能让服务器上服务进程占用更少的内存,方才可以提供更多的内存给虚拟机,卖给云客户。
虚拟化三大件:libvirt、qemu、kvm内存开销不小,可以优化占用更少的内存。如何找到进程内存开销的地方直观重要,以qemu为例说明。
一、查看进程/proc/pid/status
其中,
VmPeak
:进程的峰值虚拟内存大小,表示进程在其生命周期中使用的最大虚拟内存量。单位为千字节(kB)。VmSize
:进程当前的虚拟内存大小,表示进程当前使用的虚拟内存量。单位为千字节(kB)。VmLck
:进程锁定的内存大小,表示进程当前锁定的内存量。锁定内存是指被进程锁定在物理内存中,不会被交换到磁盘。单位为千字节(kB)。VmPin
:进程固定的内存大小,表示进程当前固定在物理内存中的内存量。固定内存是指被进程固定在物理内存中,不会被操作系统的内存管理机制移动或交换出去。单位为千字节(kB)。VmHWM
:进程的峰值物理内存大小,表示进程在其生命周期中使用的最大物理内存量。单位为千字节(kB)。VmRSS
:进程当前的物理内存大小&