linux top 命令---VIRT,RES,SHR,虚拟内存和物理内存(

VIRT

1、进程需要的虚拟内存大小,包括进程使用的库、代码、数据,以及mallocnew分配的堆空间和分配的栈空间等;

2、假如进程新申请10MB的内存,但实际只使用了1MB,那么它会增长10MB,而不是实际的1MB使用量。

3VIRT = SWAP + RES

RES

1、进程当前使用的内存大小,包括使用中的mallocnew分配的堆空间和分配的栈空间,但不包括swap out量;

2、包含其他进程的共享;

3、如果申请10MB的内存,实际使用1MB,它只增长1MB,与VIRT相反;

4、关于库占用内存的情况,它只统计加载的库文件所占内存大小。

5RES = CODE + DATA

SHR

1、除了自身进程的共享内存,也包括其他进程的共享内存;

2、虽然进程只使用了几个共享库的函数,但它包含了整个共享库的大小;

3、计算某个进程所占的物理内存大小公式:RES – SHR

4swap out后,它将会降下来。

示例

#include <iostream>

 

int main()

{

    char * p = new char [1024*1024*512];

    getchar();

    return 0;

}

top:

PID USER PR  NI  VIRT RES SHR S %CPU %MEM TIME+ COMMAND

401 hhhhh 17   0   523m 916 792  S  0.0  0.0   0:00.00 ./main

原文:

http://blog.csdn.net/huyiyang2010/article/details/7815491

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值