起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 236|回复: 16

【结帖】3088在linux下出现java heap space错误**

[复制链接]
发表于 2008-10-18 07:47:57 | 显示全部楼层 |阅读模式
我们用的是3088版本,在redhat 3.0下运行。TOMCAT做为应用服务器,系统内存为4G。我们在应用中,只要有人进入系统,在服务器端就会出现如下错误:
   java.lang.OutOflMemoryError:Java heap space
我们在catalina.sh这个文件中加入了:
SET JAVA_OPTS="-Xms2048m -Xmx2048m"还是一样的结果。
在server.xml中也做了优化。也没什么效果。
而且java的内存使用一直为1.1G,物理内存用到2.1G后就上不去了。
而且用了几天后服务就当机了。帮忙解决,急用。因为系统已在应用了
回复

使用道具 举报

发表于 2008-10-18 08:32:09 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2008-10-22 22:03:38 | 显示全部楼层
这两个我都看了。试了两天还是不行啊
回复 支持 反对

使用道具 举报

发表于 2008-10-23 08:56:10 | 显示全部楼层
1、业务数据缓存日志表由多少条记录?

2、做了什么大数据量的读写操作吗?
回复 支持 反对

使用道具 举报

发表于 2008-10-23 17:12:52 | 显示全部楼层
楼主,
1、发布一个Probe.war到tomcat中,可以用它监控tomcat的状态(要单独为它创建一个tomcat的管理员帐号,不要用manager)

2、把错误日志(Bin目录下的log文件,Logs目录中的文件)发来看看

3、把tomcat的配置文件Server.xml发来看看

4、检查一下“系统空间\系统数据库\本地业务数据缓存日志表”的数据是否正常,如果有非常多的记录,可以用“系统空间\系统功能\系统修复工具”功能来修复一下(选择 刷新本地数据缓存)

5、观察一下,当客户端登录时,tomcat的cpu、内存的变化(前后比较)
   数据库进程的cpu、内存变化(想办法监控一下数据库,看看在做什么操作)
回复 支持 反对

使用道具 举报

发表于 2008-10-23 22:29:21 | 显示全部楼层
我把server.xml放上来看一下。
我把本地业务数据缓存表清除了一下(有300多条记录)。重新刷新了一下。明天再测试看看

server.rar

5.96 KB, 下载次数: 55

回复 支持 反对

使用道具 举报

发表于 2008-10-24 12:42:44 | 显示全部楼层
好的,如果本地业务数据缓存表有300多条记录,肯定不正常了。
楼主,刷新后,还有多少条记录。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-10-24 17:23:59 | 显示全部楼层
你们这个缓存表是怎么作用的?以后再慢怎么办?因为我们不在现场,客户不会自已改,这个问题怎么解决?
回复 支持 反对

使用道具 举报

发表于 2008-10-24 17:27:44 | 显示全部楼层
这个缓存是:数据缓存。

如果楼主指定了某个表缓存业务数据到客户端,系统就会把这个表的url存储到缓存日志表里。

系统有bug:
使用了导入工具或者做过升级,有可能会导致缓存日志表里记录增加(都是垃圾信息),最终客户端会按照这些记录下载业务数据,导致tomcat资源占用增加。

你可以给客户分配一个修复工具的权限,如果发生这种情况,让用户自己修复就可以了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-10-24 18:10:21 | 显示全部楼层
修复后,我看了一下,这个表里的数据都是平台上的表的缓存放进来了。我们系统中没有一张表写进来了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-24 04:13 , Processed in 0.043467 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表