gpt4 book ai didi

linux - VmSize = 物理内存 + swap?

转载 作者:IT王子 更新时间:2023-10-29 00:19:08 25 4
gpt4 key购买 nike

我有一个关于 VmSize 的小问题,在文档中它应该是应用程序对内存的使用。

但是在我的系统上:

VmSize = 物理内存 + swapVmHWM 看起来更像是应用程序实际使用的内容。

[root@sun ~]# free -m
total used free shared buffers cached
Mem: 12012 9223 2788 0 613 1175
-/+ buffers/cache: 7434 4577
Swap: 3967 0 3967


[root@sun ~]# cat /proc/8268/status
Name: mysqld
State: S (sleeping)
Tgid: 8268
Pid: 8268
PPid: 1
TracerPid: 0
Uid: 89 89 89 89
Gid: 89 89 89 89
FDSize: 512
Groups: 89
VmPeak: 15878128 kB
VmSize: 15878128 kB
VmLck: 0 kB
VmPin: 0 kB
VmHWM: 7036312 kB
VmRSS: 7036312 kB
VmData: 15839272 kB
VmStk: 136 kB
VmExe: 10744 kB
VmLib: 6356 kB
VmPTE: 16208 kB
VmSwap: 0 kB
Threads: 265
SigQ: 0/96048
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000087007
SigIgn: 0000000000001000
SigCgt: 00000001800066e9
CapInh: 0000000000000000
CapPrm: 0000000000000000
CapEff: 0000000000000000
CapBnd: 0000001fffffffff
Seccomp: 0
Cpus_allowed: fff
Cpus_allowed_list: 0-11
Mems_allowed: 00000000,00000001
Mems_allowed_list: 0
voluntary_ctxt_switches: 2567
nonvoluntary_ctxt_switches: 77

知道为什么吗?我特别尝试获取此应用程序的内存使用情况,但此结果没有任何意义。

谢谢。

最佳答案

VMsize 是进程使用的“地址空间”:可用地址 的数量。这些地址不必附加任何物理内存。 (附物理内存为RSS图)

您可以通过使用 p = malloc(4 * 1024 * 1024); 分配一 block 内存来验证这一点,并且*p做任何事情:VmSize 将增加 1K 页,但 RSS 将(大约)相同。 (你的程序会有更多的可寻址内存,但它没有寻址,所以内存不需要attached)

关于linux - VmSize = 物理内存 + swap?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17174645/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com