企业管理器同一session内执行sql时,javaw占用内存不断上升,要怎么解决?

问题描述:

企业管理器同一session内执行sql时,javaw占用内存不断上升,要怎么解决?

在企业管理器中,同一个查询窗口中,执行任意语句后,查看任务管理器里的javaw 程序。其所占用的内存是每次累加的。而不是运行一次sql,再运行其他sql时,先释放内存,然后根据新的sql再增长相应的内存,而且每次运行完sql后观察一段时间(此时无操作),内存是不自动释放的。只要再次运行,内存就会在原来的基础上累计增加。除非关闭当前查询窗口,内存才会释放。

客户的机器只有1GB的内存,文档截图中的内存使用量为250MB左右,可供JVM使用的内存肯定不足1GB,而企业管理器的默认配置内存上限为1GB。
因此我们分析出现该问题的原因为,JVM在内存占用到250MB的时候,认为没有必要回收内存,而在企业管理器继续使用内存的时候,客户机已经没有内存可供企业管理器使用了。

1. 建议客户增加内存;

2. 将企业管理器文件夹下的GBaseStudio.ini文件中的-Xmx1024m改为-Xmx512m或者更小,这样方便JVM及时进行垃圾回收。