Linux内存监控工具

Linux内存监控工具

ID:39465471

大小:66.00 KB

页数:9页

时间:2019-07-04

Linux内存监控工具_第1页
Linux内存监控工具_第2页
Linux内存监控工具_第3页
Linux内存监控工具_第4页
Linux内存监控工具_第5页
资源描述:

《Linux内存监控工具》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Linux内存监控工具一、free 该工具主要是显示系统里可用和已用的内存Linux通常按一定的算法把常用的数据加载到系统的虚拟内存buffers和cached中,以便于用户程序在访问系统资源更快。而由free查看到的buffers是用于存放元数据,而cached是用于存放真实的文件内容。 由上图free-k的输出结果中可知:系统总物理内存(total)是4144656K(约4G);已用(Mem行对应的used)的物理内存是3871932K(约3.8G,注:这里包含了buffers的152460K(约152M)和cached的225

2、3060K(2.2G).),他包含系统的buffers和cached的。-/+buffers/cache对应的used是1466412K(约1.4G),也就是Mem行used(3871932K)-Mem行buffers(152460K)-Mem行cached(2253060K)=1466412K(约1.4G).所以实际上可用于分配的物理内存(-/+buffers/cache行对应的free)是2678244K(约2.6G).Shared在man手册里提示应该忽略(manfree:Thesharedmemorycolumnshould

3、beignored;itisobsolete.)。Mem行对应的free对应的274220K(约274M).其实这个free是有一定限制的:不能低于min_free_kbytes。min_free_kbytes用于计算系统里lowmemzone(物理内存0-896MB之间的zone)的值(ThisisusedtoforcetheLinuxVMtokeepaminimumnumberofkilobytesfree. TheVMusesthisnumbertocomputeapages_minvalueforeachlowmemzone

4、inthesystem. Eachlowmemzonegetsanumberofreservedfreepagesbasedproportionallyonitssize.).计算方式参见mm/page_alloc.c的min_free_kbytes=sqrt(lowmem_kbytes*16) 上述值是一定的公式计算系统的lowmem是872656KB[root@crm_10/root]grepLowTotal/proc/meminfoLowTotal: 872656min_free_kbytes=sqrt(872656*16)约

5、等于3797二、ps,top 这两个工具在内存监视方面有很大的相似性,所以一并说一下:下面top里的VIRT相当于ps里的VSZ:指用于这个任务的总虚拟内存(虚拟内存包括物理内存和swap交换分区),包括所有的代码、数据、共享库以及已经被out到swap分区的数据。/*Thetotalamountofvirtualmemoryusedbythetask. Itincludesallcode,dataandsharedlibrariespluspagesthathavebeenswappedout.*/ 而top里的RES相当于ps里

6、的RSS:指用于这个任务的没被out到swap分区的总物理内存/*residentsetsize,thenon-swappedphysicalmemorythatataskhasused*/top里的%MEM:指这个任务的RES占总物理内存的比率/*Memoryusage(RES)Atask'scurrentlyusedshareofavailablephysicalmemory.*/三、vmstat显示的值跟用free工具查看到的值相似。一般情况下:只要swap一列的si/so数值不超过1024即可。Swap      si:Am

7、ountofmemoryswappedinfromdisk(/s).      so:Amountofmemoryswappedtodisk(/s).四:VFS里的meminfo信息:Dirty:是指数据已写入内存,但还没同步到外存(磁盘)的数据量.Slab:为了提供内核空间以页分配对有些调用(只需小内存)不合适的一种内存分配方式,提出Pool的概念。Vmalloc:为了解决非连续性内存的使用,提供的一种内存分配方式(采用链表)。CommitLimit:指当前可以分配给程序使用的虚拟内存(只有当vm.overcommit_memor

8、y的值设置为2时,CommitLimit才有意义) CommitLimit:Basedontheovercommitratio('vm.overcommit_ratio'),             thisisthetotalamo

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。