首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java桌面应用挂起操作系统

Java桌面应用挂起操作系统
EN

Stack Overflow用户
提问于 2016-03-09 22:41:11
回答 1查看 57关注 0票数 1

我有一个桌面应用程序,它“有点”需要内存,总是每15秒执行一次后台任务。当通过JVisualVM分析它时,每次垃圾回收之后使用的堆大约是60mb,GC之前大约是210mb,但如果应用程序使用非常频繁,它可能会增加。堆大小始终在380/400mb左右。这几乎一直保持不变,至少在分析我本地机器上的应用程序时是这样。

问题是,在一些客户端,在极少数情况下,系统挂起,因为显然操作系统本身没有足够的内存,因为它在堆中使用(即使不是由应用程序本身使用)。

因此,在一台4 go的机器上,当操作系统本身和其他应用程序消耗大约2 go时,当使用应用程序的两个或三个实例时,很容易导致内存使用率上升到95%,我认为这是操作系统挂起的地方。

有没有办法让堆大小恰好满足应用程序的需求?或者我说的是胡说八道,问题是由于其他原因而发生的?

EN

回答 1

Stack Overflow用户

发布于 2016-03-09 23:04:33

您可以尝试将堆的限制设置得更小。这将迫使垃圾收集器采取行动,但会使程序的内存占用更小。

在SO中有一个关于如何设置that的问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35894651

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档