起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 244|回复: 17

【结贴】内存使用过大**

[复制链接]
发表于 2007-10-18 21:55:35 | 显示全部楼层 |阅读模式
我们的硬件,,软件环境:
1。数据服务器:oracle9i的数据库。服务器为SUN工作站。
2。应用服务器:双CPU(双核),4G内存。
软件环境:
应用服务器系统:win2003 Server ,WebLogic8.1sp2中间服务器,X3系统为2827。
我们在应用中出现内存直长的情况。开始我们给Weblogic分配了800M内存。60个用户只用了2个多小时,在weblogic的监测中就看到内存长到了790M。
下午把weblogic内存分配了1.5G,结果一下午就用了1.2G的内存。
请问怎么解决。我们在推广。有点急。请帮我们快点找到原因。在这先谢谢了
回复

使用道具 举报

发表于 2007-10-19 09:12:18 | 显示全部楼层
楼主给wls分配的内存的xmx和xms分别是多少呢?
一般你给XMX分配了1.5g的内存后,在使用过程中由于创建对象等操作内存会不断的增加,可能会不断的增加到他的最大值,这种缓存机制可以增加客户端的相应速度,也就是说达到1.2G也是正常的,当达到一定程度没有足够的内存来创建对象后weblogic会主动的回收前面分配的垃圾内存。
楼主可以通过weblogic控制台观察一下weblogic的内存使用情况以及Throughput的变化情况,当内存增加到一定程度后会自动回收的,如果不能回收可能就不正常了,楼主也可以手动进行回收看一下垃圾内存是否能够回收?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-19 10:45:20 | 显示全部楼层
-xmx 1500m -xms1500m,手动回收后可以回收。但是还到1.2G后系统就运行不起来了
回复 支持 反对

使用道具 举报

发表于 2007-10-19 10:57:11 | 显示全部楼层
楼主吧xms的值减小一些,这样最小内存和最大内存一样了,weblogic启动以后没有使用也费好多用内存的。
1.2G就运行不起来了有什么错误么?进程的队列中有等待的进程么?手动回收以后能够运行么?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-19 11:03:22 | 显示全部楼层
我上网查了资料,网上都说xms和xmx都一样最好。运行不起来后进程的队列有等待的。手动回收后运行的也很慢。
回复 支持 反对

使用道具 举报

发表于 2007-10-19 11:15:33 | 显示全部楼层
weblogic有个参数是控制同时响应请求线程数量的,默认好像是15个你吧这个参数修改大一些看一下效果呢?
回复 支持 反对

使用道具 举报

发表于 2007-10-19 11:15:56 | 显示全部楼层
还有weblogic的日志表现正常么?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-19 11:42:09 | 显示全部楼层
有问题,socket write error出这个错
这个参数叫什么名字?
回复 支持 反对

使用道具 举报

发表于 2007-10-19 13:47:16 | 显示全部楼层
既然有进程被阻塞了说明服务端还是有问题的,曾经遇到过一次进程阻塞是因为oracle数据库死锁造成的,楼主也可以看一下是不是数据库的问题。
另外修改并发线程数量的参数在控制台中可以,具体叫什么忘记了,楼主可以去别的地方找一下,
还有就是日志最好能发上来一份看一下。
回复 支持 反对

使用道具 举报

发表于 2007-10-19 14:12:38 | 显示全部楼层
mydomain> Servers> myserver> Execute Queue> weblogic.kernel.Default
Thread Count这个参数你修改大一些比如50或者100
这样就可以增加并发线程。
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-6-30 02:21 , Processed in 0.044802 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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