邯郸的互联网公司,济南百度推广排名优化,做英文网站2014,太原企业建站模板VIRT,RES,SHR,虚拟内存和物理内存(转) VIRT#xff1a; 1、进程“需要的”虚拟内存大小#xff0c;包括进程使用的库、代码、数据#xff0c;以及malloc、new分配的堆空间和分配的栈空间等#xff1b; 2、假如进程新申请10MB的内存#xff0c;但实际只使用了1MB#xff0… VIRT,RES,SHR,虚拟内存和物理内存(转) VIRT 1、进程“需要的”虚拟内存大小包括进程使用的库、代码、数据以及malloc、new分配的堆空间和分配的栈空间等 2、假如进程新申请10MB的内存但实际只使用了1MB那么它会增长10MB而不是实际的1MB使用量。 3、VIRT SWAP RES RES 1、进程当前使用的内存大小包括使用中的malloc、new分配的堆空间和分配的栈空间但不包括swap out量 2、包含其他进程的共享 3、如果申请10MB的内存实际使用1MB它只增长1MB与VIRT相反 4、关于库占用内存的情况它只统计加载的库文件所占内存大小。 5、RES CODE DATA SHR 1、除了自身进程的共享内存也包括其他进程的共享内存 2、虽然进程只使用了几个共享库的函数但它包含了整个共享库的大小 3、计算某个进程所占的物理内存大小公式RES – SHR 4、swap 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 转载于:https://www.cnblogs.com/catkins/p/5270397.html