5G内存!这正常吗?!!!用了各种优化方法内存还是嗷嗷涨!怎么办!
1
otmb 2015-01-04 19:45:53 +08:00
这么耗内存啊
|
2
zeeler 2015-01-04 20:12:49 +08:00
很不正常哦,用了什么优化方法?
|
3
cpp255 2015-01-04 22:20:45 +08:00
1W就这么大内存了么
|
4
jones 2015-01-05 10:02:50 +08:00 1
|
9
jones 2015-01-05 14:24:37 +08:00
@yxaaa123 这个直接做几次heap快照,然后对比分析一下内存中什么对象占据大量内存,什么对象数量增长快速且高举不下挺容易的吧,先定为问题然后在有针对性的排查代码比较好,另外你一个JVM进程5G内存也不合适啊,FULL GC一次得要多长时间啊,建议你把GC日志打开,选择合理的GC策略同时关注每次GC的停顿时间和回收率,还有尽量避免FULL GC,在我印象中好像JVM堆内存超过2G就要考虑JVM多进程集群了,超大堆内存如果不发生FULL GC还好,一旦发生FULL GC光停顿时间就会让人崩溃,搞不好几十秒时间不响应,在对响应时间要求苛刻的场景超大堆内存根本玩不转,CMS也不行,估计G5还有希望搞定,但是目前应该还没人把G5用到生产环境
|
10
yxaaa123 OP @jones 之前一直没有接触过java这种级别的调优,netty也没怎么用过,然后第一次压测直接侧漏了。现在16G内存1W连接的广播内存半分钟就干到30%,估计没等full gc就直接挂了。后来改了代码改了jvm参数有了点儿好转,但是依然分分钟暴毙的状态。。
|
11
funky 2015-01-11 00:12:57 +08:00
开Jconsole看看到底是什么原因?
|
12
sing1ee 2015-01-13 09:24:47 +08:00
解决了么?后续没了啊
|