分类: LINUX
2010-03-20 00:24:44
使用top查看内存进程内存时,常常涉及到关于对VIRT,RES,CODE,DATA,SWAP,Swap(进程),虚拟内存,常驻内存(物理内
存),代码段,共享内存,数据段等概念,今天自己研究一下,一方面是记录下来,另一方面,希望对同学们有参考的作用。
TOP时,VIRT,RES,CODE,DATA各个字段说明如下
SWAP,即我们安装操作系统时,设置的交换区大小,推荐位物理内存的1-2倍。Swap
空间的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一
些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到内存中。这样,系统
总是在物理内存不够时,才进行Swap交换。
MEM:物理内存
VIRT = Virtual Image (kb),这个是我们常说的虚拟内存。我们可以理解为一个进程所需要的全部内存大小即为虚拟内存,由于内核控制物理内存和虚拟内存的映射关系,所以,就有 了进程的物理内存和虚拟内存之间的区别。
RES = Resident size (kb),常驻内存,这个数值表示的是进程此时此刻所使用的物理内存大小。
CODE = Code size (kb),代码段的大小,这个数值表示进程的代码段的大小。
DATA = Data+Stack size (kb),数据段+堆的大小。这个数值一般表示进程运行过程中申请的内存大小。
SHR = Shared Mem size (kb),共享内存大小。
Swap = Swapped size (kb),交换过的空间大小。表示正处在交换区中的内存。
他们的关系如图
关于TOP命令的一篇不错文章: