问题描述
我的系统上有 16 GB 内存。当我调用 psutil.virtual_memory()
时,我得到以下输出:
svmem: svmem(total=16645505024,available=11897528320,percent=28.5,used=3655700480,free=9460736000,active=4557766656,inactive=1540661248,buffers=192524288,cached=3336544256,shared=765763584,slab=259469312)
当我在 linux 中使用 free 命令时,我得到以下输出:
total used free shared buff/cache available
Mem: 16255376 3932008 8559892 1012532 3763476 10989204
Swap: 7910396 0 7910396
来自/proc/meminfo
的输出
MemTotal: 16255096 kB
MemFree: 7364100 kB
MemAvailable: 10076292 kB
Buffers: 174508 kB
Cached: 4166520 kB
SwapCached: 0 kB
Active: 5124828 kB
Inactive: 2277680 kB
Active(anon): 4022420 kB
Inactive(anon): 494860 kB
Active(file): 1102408 kB
Inactive(file): 1782820 kB
Unevictable: 951160 kB
Mlocked: 80 kB
SwapTotal: 7910396 kB
SwapFree: 7910396 kB
Dirty: 432 kB
Writeback: 0 kB
AnonPages: 4012684 kB
Mapped: 1452264 kB
Shmem: 1461568 kB
KReclaimable: 165196 kB
Slab: 292904 kB
SReclaimable: 165196 kB
SUnreclaim: 127708 kB
KernelStack: 37312 kB
PageTables: 126352 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 16037944 kB
Committed_AS: 22750636 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 56604 kB
VmallocChunk: 0 kB
Percpu: 6016 kB
HardwareCorrupted: 0 kB
AnonHugePages: 0 kB
ShmemHugePages: 0 kB
ShmemPmdMapped: 0 kB
FileHugePages: 0 kB
FilePmdMapped: 0 kB
CmaTotal: 0 kB
CmaFree: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
Hugetlb: 0 kB
DirectMap4k: 379288 kB
DirectMap2M: 12062720 kB
DirectMap1G: 5242880 kB
这里的主要问题是 psutil 数据(以字节为单位)转换为超过 16GB 的内存。当然,这不可能是真的。我的期望是得到一个值,告诉我我有 16 GB 内存。价值不能跨越实际价值吗?
我知道 free
输出以 kb 为单位,而 psutils 以字节为单位,但我绝对看不到它们中的奇偶校验。为什么值这么差?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)