mostxj 发表于 2010-12-4 22:32:28

谢谢老师的分析。我的系统每天基本上是运行固定次数的工作流,session数量没有明显的增加。我再研究研究动态监控的办法。
另外想请教老师个问题,理论上讲,sga_target和pga_aggregate_target之和是不是应该是oracle可以使用的最大内存数?如果是这样的话,我的这个oracle sever理论上不应该超过40%内存使用率,主机本身如果不运行其他应用,整个服务器的内存使用率理论上将不应该超过60%.
另外,内存泄露是否是oracle所导致,是否为系统的bug?

mostxj 发表于 2010-12-4 22:47:55

我用以下命令
ps -ef|grep ora|wc -l
查出我的系统里有大概300个和oracle有关的进程,如何甄别是哪个进程发生了内存泄露呢?
我理解的内存泄露的概念是,某个进程在运行的过程中使用了1m内存,在进程结束后,只还给了操作系统0.8m的内存,这样0.2m的内存就被无端占用,其他进程也无法再使用这0.2m的内存了,这样就造成了内存泄露。
pga_aggregate_target 的值是限定了oracle session 总的pga使用量,理论上将不应该超过这个上限的。

mostxj 发表于 2010-12-6 14:13:15

昨天发的问题,不知啥原因丢了

mostxj 发表于 2010-12-6 14:33:22

我的这个系统是运行定时的工作流,每天的session数量基本上是固定的。session数量没有明显增加。
另外,我用ps -ef |grep ora|wc -l 可以看到300个左右的进程,不知道用什么方法可以定位出哪个进程发生了内存泄露。
还有个疑问,pga_aggregate_target 是 3062M,理论上讲,PGA的使用总量不应该超过这个值。SGA target和pga_aggregate_target之和,是不是理论上应该是oracle server应该使用的内存上限?我的服务器上只有oracle运行。这样理论上,我oracle的内存使用率应该在
40%左右,加上server的内存的使用,应该不超过60%.对这点,还是很疑惑。

oraunix 发表于 2010-12-9 11:09:16

如果你感觉系统命令不是很熟悉,你可以看一下v$pgastat、v$systat来看一下uga等使用情况。

vipfbi123 发表于 2012-9-15 13:42:27

顶顶顶顶顶顶顶顶顶顶
页: 1 [2]
查看完整版本: 数据库服务器的内存使用率随着时间增加攀升,不明原因