V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yxaaa123
V2EX  ›  Java

Netty,1W socket,100msg/s 广播, 30%cpu,5G 内存。

  •  
  •   yxaaa123 · 2015-01-04 18:59:44 +08:00 · 4554 次点击
    这是一个创建于 3648 天前的主题,其中的信息可能已经有所发展或是发生改变。

    5G内存!这正常吗?!!!用了各种优化方法内存还是嗷嗷涨!怎么办!

    13 条回复    2015-02-23 12:23:12 +08:00
    otmb
        1
    otmb  
       2015-01-04 19:45:53 +08:00
    这么耗内存啊
    zeeler
        2
    zeeler  
       2015-01-04 20:12:49 +08:00
    很不正常哦,用了什么优化方法?
    cpp255
        3
    cpp255  
       2015-01-04 22:20:45 +08:00
    1W就这么大内存了么
    jones
        4
    jones  
       2015-01-05 10:02:50 +08:00   ❤️ 1
    yxaaa123
        5
    yxaaa123  
    OP
       2015-01-05 13:37:16 +08:00
    @jones 真是太感谢了
    yxaaa123
        6
    yxaaa123  
    OP
       2015-01-05 14:01:30 +08:00
    @otmb 完全不知道该如何解决。
    yxaaa123
        7
    yxaaa123  
    OP
       2015-01-05 14:01:57 +08:00
    @zeeler 各种改代码,各种改jvm参数
    yxaaa123
        8
    yxaaa123  
    OP
       2015-01-05 14:02:11 +08:00
    @cpp255 就是。。。
    jones
        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用到生产环境
    yxaaa123
        10
    yxaaa123  
    OP
       2015-01-05 14:42:42 +08:00
    @jones 之前一直没有接触过java这种级别的调优,netty也没怎么用过,然后第一次压测直接侧漏了。现在16G内存1W连接的广播内存半分钟就干到30%,估计没等full gc就直接挂了。后来改了代码改了jvm参数有了点儿好转,但是依然分分钟暴毙的状态。。
    funky
        11
    funky  
       2015-01-11 00:12:57 +08:00
    开Jconsole看看到底是什么原因?
    sing1ee
        12
    sing1ee  
       2015-01-13 09:24:47 +08:00
    解决了么?后续没了啊
    mathgl
        13
    mathgl  
       2015-02-23 12:23:12 +08:00 via Android
    @jones 看到过一篇文章 tame java gc 。作者提到在大内存下,cms表现优于g1。作者提到在16g下,一般可以把gc控制在150ms左右。不过他的场合是读多写少。一次写只会更改部分数据。

    如果有full gc,尽量控制在非繁忙时发生。

    总的来说好像用多个jvm比较靠谱一点。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1041 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 19:44 · PVG 03:44 · LAX 11:44 · JFK 14:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.