inux 内存监控分析

一、free 查看系统总的内存情况

第一部分Mem行:

  total 内存总数: 3768M
  used 已经使用的内存数: 3136M
  free 空闲的内存数: 632M
  shared 当前已经废弃不用,总是0
  buffers Buffer 缓存内存数: 426M
  cached Page 缓存内存数:1562M

  关系:total(3768M) = used(3136M) + free(632M)

第二部分(-/+ buffers/cache):
  (-buffers/cache) used内存数:1148M (指的第一部分Mem行中的used – buffers – cached)
  (+buffers/cache) free内存数: 2620M (指的第一部分Mem行中的free + buffers + cached)

  可见-buffers/cache反映的是被程序实实在在吃掉的内存,而+buffers/cache反映的是可以挪用的内存总数.

第三部分:Swap交换区

  如果常常swap用很多,可能你就要考虑加物理内存了.这也是linux看内存是否够用的标准哦.

解释:

  对操作系统来讲是Mem的参数.buffers/cached 都是属于被使用,所以它认为free只有232.
  对应用程序来讲是(-/+ buffers/cach).buffers/cached 是等同可用的,因为buffer/cached是为了提高程序执行的性能,当程序使用内存时,buffer/cached会很快地被使用。所以,从应用来看看,以(-/+ buffers/cache)的free和used为主.所以我们看这个就好了。

 二、查看某个进程占用的内存情况 pidstat -r

PID:进程标识符
Minflt/s:任务每秒发生的次要错误,不需要从磁盘中加载页
Majflt/s:任务每秒发生的主要错误,需要从磁盘中加载页
VSZ:虚拟地址大小,虚拟内存的使用KB
RSS:常驻集合大小,非交换区五里内存使用KB
%MEM :该进程占用的内存百分比
Command:task命令名

  三、cat /proc/19978/status 查看指定进程的快照

VmRSS //进程当前使用的物理内存的大小
VmData //进程占用的数据段大小
VmSize //进程当前使用的虚拟内存的大小

原文地址:https://www.cnblogs.com/jalja/p/12058893.html

时间: 2024-10-22 05:22:30

inux 内存监控分析的相关文章

inux CPU监控分析

一.vmstat 可对操作系统的虚拟内存.进程.CPU活动进行监控 Procs(进程) r: 运行队列中进程数量,这个值也可以判断是否需要增加CPU.(长期大于1) b: 等待IO的进程数量. Memory(内存) swpd: 使用虚拟内存大小,如果swpd的值不为0,但是SI,SO的值长期为0,这种情况不会影响系统性能. free: 空闲物理内存大小. buff: 用作缓冲的内存大小. cache: 用作缓存的内存大小,如果cache的值大的时候,说明cache处的文件数多,如果频繁访问到的文

Java内存泄漏分析与解决方案

Java内存泄漏是每个Java程序员都会遇到的问题,程序在本地运行一切正常,可是布署到远端就会出现内存无限制的增长,最后系统瘫痪,那么如何最快最好的检测程序的稳定性,防止系统崩盘,作者用自已的亲身经历与各位网友分享解决这些问题的办法. 作为Internet最流行的编程语言之一,Java现正非常流行.我们的网络应用程序就主要采用Java语言开发,大体上分为客户端.服务器和数据库三个层次.在进入测试过程中,我们发现有一个程序模块系统内存和CPU资源消耗急剧增加,持续增长到出现java.lang.Ou

100%正确的内存泄漏分析工具       --------tMemMonitor (TMM)

C/C++由于灵活.高效的优点一直以来都是主流的程序设计语言之一,但是其内存的分配与释放均由程序员自己管理,当由于疏忽或错误造成程序未能释放不再使用的内存时就会造成内存泄漏.在大型.复杂的应用程序中,内存泄漏往往是最常见的问题,因而及时解决内存泄漏非常必要.tMemMonitor (TMM)作为一个专业.准确.易用的内存泄漏分析工具,可以帮助C/C++程序员迅速地解决内存泄漏这个令人头疼的问题. TMM下载地址: 一.开发背景 目前市面上已有一些Windows平台下的内存泄漏动态检测工具,比如U

转: 关于Linux与JVM的内存关系分析

转自: http://tech.meituan.com/linux-jvm-memory.html Linux与JVM的内存关系分析 葛吒2014-08-29 10:00 引言 在一些物理内存为8g的服务器上,主要运行一个Java服务,系统内存分配如下:Java服务的JVM堆大小设置为6g,一个监控进程占用大约600m,Linux自身使用大约800m.从表面上,物理内存应该是足够使用的:但实际运行的情况是,会发生大量使用SWAP(说明物理内存不够使用了),如下图所示.同时,由于SWAP和GC同时

sql server 数据页缓冲区的内存瓶颈分析

查看数据库的计数器: SELECT * FROM  sys.dm_os_performance_counters **也可以使用系统的性能计监测器查看. 右键图表-> 添加计数器. 添加要监控的项 计数器中一些项的说明 : http://www.cnblogs.com/flysun0311/archive/2012/02/29/2373390.html 资料: http://www.cnblogs.com/Joe-T/archive/2012/07/31/2617060.html http://

Android内存管理分析

大部分因为工作任务繁重,一般我们很少关心内存的事,只知道先把任务完成.只有真正到了发现UI卡顿 或者APP实在跑不下去了(一点一卡),才会考虑到内存优化.或者你所在的大公司比较关心手机运行流利程度,也需要对内存进行管理. 1.内存管理的基础知识 因为安卓的顶层也是 Java来实现的,作为客户顿的程序员应该懂得如何去管理内存. 又因为Java不像C语言可以执行free去主动释放内存,而是提供了一套Java的垃圾处理器.但是该处理器并不能时刻盯着内存,在内存不需要的时候直接清理(程序员比较方便,但是

Node.js内存泄漏分析

在极客教育出版了一个视频是关于<Node.js 内存泄漏分析>,本文章主要是从内容上介绍如何来处理Node.js内存异常问题.如果希望学习可前往极客学院: 本文章的关键词 - 内存泄漏 - 内存泄漏检测 - GC分析 - memwatch 文章概要 由于内存泄漏在Node.js中非常的常见,可能在浏览器中应用javascript时,对于其内存泄漏不是特别敏感,但作为服务器语言运行时,你就不得不去考虑这些问题.由于很小的逻辑可能导致服务器运行一天或者一个星期甚至一个月才会让你发现内存不断上涨,而

转: Linux与JVM的内存关系分析

Linux与JVM的内存关系分析 引言 在一些物理内存为8g的服务器上,主要运行一个Java服务,系统内存分配如下:Java服务的JVM堆大小设置为6g,一个监控进程占用大约600m,Linux自身使用大约800m.从表面上,物理内存应该是足够使用的:但实际运行的情况是,会发生大量使用SWAP(说明物理内存不够使用了),如下图所示.同时,由于SWAP和GC同时发生会致使JVM严重卡顿,所以我们要追问:内存究竟去哪儿了? 要分析这个问题,理解JVM和操作系统之间的内存关系非常重要.接下来主要就Li

内存泄漏分析工具tMemMonitor (TMM)使用简介

C/C++由于灵活.高效的优点一直以来都是主流的程序设计语言之一,但是其内存的分配与释放均由程序员自己管理,当由于疏忽或错误造成程序未能释放不再使用的内存时就会造成内存泄漏.在大型.复杂的应用程序中,内存泄漏往往是最常见的问题,因而及时解决内存泄漏非常必要.tMemMonitor (TMM)作为一个专业.准确.易用的内存泄漏分析工具,可以帮助C/C++程序员迅速地解决内存泄漏这个令人头疼的问题. TMM下载地址:http://download.csdn.net/download/tmemmoni