查看Linux系统内存使用情况


下面和大家分享在 Linux 下查看内存使用情况的 free 命令: 下面是对这些数值的解释: total:总计物理内存的大小。 used:已使用多大。 free:可用有多少。 Shared:多个进程共享的内存总额。 Buffers/cached:磁盘缓存的大小。 第三行(-/+ buffers/cached): used:已使用多大。 free:可用有多少。 第四行就不多解释了。 区别:第二行(mem)的 used/free 与第三行(-/+ buffers/cache) used/free 的区别。 这两个的区别在 于使用的角度来看,第一行是从 OS 的角度来看,因为对于 OS,buffers/cached 都是属于被使用,所以 他的可用内存是 16176KB,已用内存是 3250004KB,其中包括,内核(OS)使用+Application(X, oracle,etc)使用的+buffers+cached. 第三行所指的是从应用程序角度来看,对于应用程序来说,buffers/cached 是等于可用的,因为 buffer/cached 是为了提高文件读取的性能,当应用程序需在用到内存的时候,buffer/cached 会很快地 被回收。 所以从应用程序的角度来说,可用内存=系统 free memory+buffers+cached。 如上例: 2795064=16176+110652+2668236 接下来解释什么时候内存会被交换,以及按什么方交换。 当可用内存少于额定值的时候,就会开会进行 交换。 如何看额定值: 用 free -m 查看的结果: 查看/proc/kcore 文件的大小(内存镜像): 备注: 占用内存的测量 测量一个进程占用了多少内存,linux 为我们提供了一个很方便的方法,/proc 目录为我们提供了所有的 信息,实际上 top 等工具也通过这里来获取相应的信息。 /proc/meminfo 机器的内存使用信息 /proc/pid/maps pid 为进程号,显示当前进程所占用的虚拟地址。 /proc/pid/statm 进程所占用的内存 [root@localhost ~]# cat /proc/self/statm 654 57 44 0 0 334 0 输出解释 CPU 以及 CPU0。。。的每行的每个参数意思(以第一行为例)为: 参数 解释 /proc//status Size (pages) 任务虚拟地址空间的大小 VmSize/4 Resident(pages) 应用程序正在使用的物理内存的大小 VmRSS/4 Shared(pages) 共享页数 0 Trs(pages) 程序所拥有的可执行虚拟内存的大小 VmExe/4 Lrs(pages) 被映像到任务的虚拟内存空间的库的大小 VmLib/4 Drs(pages) 程序数据段和用户态的栈的大小 (VmData+ VmStk )4 dt(pages) 04 查看机器可用内存 /proc/28248/》free total used free shared buffers cached Mem: 1023788 926400 97388 0 134668 503688 -/+ buffers/cache: 288044 735744 Swap: 1959920 89608 1870312 我们通过 free 命令查看机器空闲内存时,会发现 free 的值很小。这主要是因为,在 linux 中有这么一种 思想,内存不用白不用,因此它尽可能的 cache 和 buffer 一些数据,以方便下次使用。但实际上这些内 存也是可以立刻拿来使用的。 所以 空闲内存=free+buffers+cached=total-used
还剩2页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 2 金币 [ 分享pdf获得金币 ] 0 人已下载

下载pdf

pdf贡献者

bigfish290

贡献于2013-07-26

下载需要 2 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf