大家好,最近遇到了个问题,请教一下各位。我有两个aix6.1系统一起搭建的一个oracle rac集群,机器是p740的内存30G左右,其中oracle集群是failover模式的,目前只有1节点对外提供服务。但是最近一个月以来发现机器内存持续缓慢增长,如图是我们内部的一个工具采集出来的图形:上面二节点,下面是一节点
。可以看到一直处于持续上升的状态,其采集的数据是用svmon中memory的virtual/size计算出来的,如图:
。节点1一直对外提供服务,内存使用有所增长还可以理解,但是实际上一直以来业务量没有变化,按理也不应该有持续的增长。节点2一直是处于不提供服务的状态,只有和一节点的rac进行通信。因此对于内存缓慢增长不是很理解。
同时查看了topas中计算内存和非计算内存的大小,也是很慢的在增长:
一节点的topas输出:
二节点的topas输出:
一节点的svmon输出:
二节点的svmon输出:
使用perfpmr.sh -x memdetails.sh -x > memdetails.out方式采集到的文件我也传到了附件上(都是第二个节点的),两次采集时间间隔不是很长,数据变化量还是很小。
两个节点的ipcs输出如下:
一节点的ipcs输出:
二节点的ipcs输出:
oracle中sga的设置如下:
SQL> show parameter sga
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
lock_sga boolean FALSE
pre_page_sga boolean FALSE
sga_max_size big integer 6512M
sga_target big integer 5008M
各位大神帮忙给看下,这个svmon中的virtual增长是正常的吗?是否能理解virtual中都是计算内存,能和topas中的comp对应上?如果virtual还包括别的内存的话,还有哪些呢?我看了网上的资料应该是不包括文件的吧。
然后是否还有别的方式去看到底是什么导致了内存的持续增长?
之前还看过一些资料,说是aix申请内存的时候优先申请没有被占用的内存,请教一下这个说的是所有的内存都会这样申请吗还是只有非计算内存会这样申请。
谢谢各位了!
收起