Linux top命令的内存参数VIRTRESSHR

Linux top命令的内存参数VIRTRESSHR,第1张

我们执行top命令:

对于每个PID都有对应的VIRT,RES,和SHR三个参数值用来描述进程内存使用情况。具体是什么含义呢?

下面是 man top 的输出:

下面是结合网上搜搜的结果后我的理解,不一定正确:

意思是例如对于一个很大共享库(如10页)。

VIRT所表示的是“虚存”,指的是进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据,以及malloc、new分配的堆空间和分配的栈空间等; 若进程新申请10MB的内存,但实际只使用了1MB,那么它会增长10MB,而不是实际的1MB使用量;VIRT = SWAP + RES。

RES所表示的是“实存”,指的是进程当前使用的内存大小,包括使用中的malloc、new分配的堆空间和分配的栈空间,但不包括swap out量;若申请10MB的内存,实际使用1MB,它只增长1MB,与VIRT相反;关于库占用内存的情况,它只统计加载的库文件所占内存大小;RES = CODE + DATA。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/6077306.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-13
下一篇 2023-03-13

发表评论

登录后才能评论

评论列表(0条)

保存