内存方面主要关注两个问题,第一:物理内存够不够用;第二:有没有内存泄露。
物理内存够不够用,关注的是物理内存与Paging Space之间的交换情况。内存有没有泄露,需要长期关注进程所占用的内存分页(包括物理内存中的分页和Paging Space中的分页)。
这一节介绍在验证物理内存够不够用的过程中,观察的几个指标。
Paging Space In/Out这个指标是判定物理内存够不够用的最重要的指标。
1. 获取来源
Nmon PAGE Sheet:pgsin、pgsout
topas:PgspIn、PgspOut
2. 指标说明
PgspIn:每秒从Paging Space读入物理内存的4K分页的数量
PgspOut:每秒写到Paging Space的4K分页的数量
物理内存够用的情况下,这两个指标都是0。
如果这两个指标长期不为0,则一定是物理内存不足。
如果偶尔不为0,不一定是物理内存不足,需要具体问题具体分析。例如:一台服务器上白天做交易,晚上做批处理。白天做交易的时候交易进程占用90%的物理内存,晚上做批处理的时候,批处理进程进入物理内存,并把交易进程的内存挤到Paging Space里面。到第二天白天的时候,交易进程进入物理内存,把批处理的进程挤到Paging Space里面。这个场景下,物理内存是够用的,但每天有两个时间段PgspIn/Out不为0。
另外,不要把PageIn/PageOut和PgspIn/Out搞混了。
PageIn/PageOut是内存与文件系统之间的读写,是正常的内存缺页。CPU要数据,内存里面没有,就会产生内存缺页,然后去磁盘里面读这个页,对于程序来说,这是再正常不过的事,比如说,程序刚启动的时候,内存里面肯定是没有读进来什么数据。
PgspIn/Out是内存与Paging Space之间的读写。
3. 举例
正常情况下,PgspIn/Out(pgspace)是0,PageIn/PageOut(filesystem)是非0。
物理内存不足的情况下,PgspIn/Out是长期非0
而此时,从内存利用率的角度也一定是有问题的,如图
内存利用率(计算内存,Computational Memory)
有人看到内存使用率是99%,就认为内存用满了,并没有区分内存分页是什么类型,这样武断的说内存用满了是不科学的。在AIX上主要关注的是计算内存占整个物理内存的百分比,linux上主要关注的是active内存占整个物理内存的百分比。
1. 获取来源
Nmon MEMNEW Sheet:Process%+System%
topas:% Comp
2. 指标说明
从Nmon来看,简单来说,看MEMNEW中紫红色的这条线,就是计算内存的消耗。而黄色的部分(FScache)也就是读写文件的缓存,相当于非计算内存。
如上图,System%、Process%和FScache三者将内存占满是比较正常的情况,尽多占用内存是提升性能的有效途径,也是很多操作系统的设计理念。
类似的,在CPU使用中,一些场景也有尽多使用CPU的理念,比如银行业晚上跑批处理业务,就要尽多消耗CPU,以期用最少的时间把批处理跑完,不要影响第二天早上的开门营业。
但System%+Process%把内存几乎占满就要看看Paging Space In/Out指标了,如下图。
测试过程中FScache不断上升也没关系
Topas可直接看Comp这个指标
Paging Space利用率这个指标经常有人提到,但我从来没看过这个指标。
1. 获取来源
Nmon MEM Sheet:1-Virtual free(MB)/Virtual total(MB)
topas:PAGING SPACE: %Used
2. 指标说明
如果在某一场的测试当中,持续观察这个指标,发现这个指标是持续增长的,也能说明内存不足。如果不是连续观察,只能说明历史上有用到过Paging Space,至于现在有没有内存不足就不知道了。
如果关注了Paging Space In/Out的指标,就不用关注Paging Space的利用率了。
文章来源网络,版本归原作者所有,如有侵权,请及时联系本公众号删除。
3、零碎的叫法。
零碎的叫法常常来自与相对感觉深奥诙涩的虚拟内存概念。物理的东西,人们大多不去碰它,毕竟是实实在在存在的。而虚拟内存就经常有别冒名顶替的。“一个进程有4个GB的虚拟内存”这样的说法屡见不鲜,其实,这是混淆了4GB的进程地址空间和虚拟内存这两个概念。也算令一种解释吧,毕竟那4个GB也是见不着影的,也是虚拟的。
物理内存是你玩电脑实际用的内存量.
物理内存,犯交素书应家侵载常动资就是我们将内存条插在主板内存槽上的内存条的容量的大小。看计算机配置的时候,主要看的就是这个物理内存。一般内存大小有1G、业等什2G、4G。如下图所示:
虚拟内存是计算机系统内存管理的一种技术。江才效光地鲁它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存烧磁给高对升呢地诗做储器上,在需要时进行数据交换。
电脑常识
可能上面这样说大家不是很好理解甲,举个例子吧,假如你用的是2G的内存条,那么系统检测到你的物理内存是2G,可是如果有的软件是眼超过出你的物理内存,这京调世积兴尼培照样这些软件就不能安装了,这样就需要用到虚拟内存,而这些虚拟内存是调用硬盘的内存来使用,这样通过酒样翻序界理虚拟内存来安装运行这些应己独背她百用程序。小。它将计算机的RAM和硬盘上的临时空间组合。当RAM运行速率缓慢时,它便将数据从RAM移动到称为“分页文件”的空间中。将数据移入分页文件可释放R南举独种越准AM,以便完成工作。当然我们可以对虚拟内存设置大小。