唏嘘浪子 2015-04-28 03:59 采纳率: 50%
浏览 3388
已采纳

java 程序内存占用的问题

最近在维护一个java 程序 有关内存占用的问题,请各位大神科普。

在本地 windows 上 启动tomcat 占用内存 几十 M
期间处理的任务
1.程序向另一个服务器建立 客户端连接 200多条 (netty) 并保持长连 每过80秒发送心跳。可用内存在每一次心跳都会有一定的下降并且没有回升
2.有个Thread 会每过10秒到数据库(mysql)获取记录 ,创建五条Thread(最大5条)对记录获取相关的连接(以上200多条连接中获取)进行处理,可用内存也会下降

在已用内存到达一定高度,可用内存便会回升,这是在windows 测试的结果,内存使用情况我觉得很健康

放在linux 服务器上 tomcat 启动内存就占用了200M多,每次心跳和处理记录也在增加,但内存达到一定高度 可用内存并没有回升,tomcat直接内存溢出了(生产环境)

我把测试环境的监控贴出来唉大家帮帮忙分析一下

绿色是tomcat开启动时
图片说明

  • 写回答

3条回答 默认 最新

  • zzkjliu 2015-04-28 14:41
    关注

    linux服务器支持的内存理论上限是4G,修改内核以后能到32G,我的一个朋友做过一台16G的服务器,能认出来。

    如果kernel启用了PAE(物理地址扩展),则可以支持 到 64GB 内存。
    以前(2009)需要安装PAE-kernel才支持大于4G。

    但是,建议装 64bit Linux。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?