Mac 的应用程序内存问题

2022-09-04 23:32:53

我遇到了一个用javaFx构建的java应用程序的问题。它仅消耗2-3%的CPU使用率,并且在Windows中消耗大约50到80 MB的内存。但在Mac中,相同的应用程序最初以50 MB的内存开始,并不断增加到1 GB,并使用超过90%的CPU使用率。我在检查Mac任务管理器时发现了此信息。当我使用Java探查器来查找内存泄漏时,探查器显示的内存使用情况与窗口相同(不超过100 MB)。

我对Mac中的这种行为感到困惑。

以前是否有人遇到过此问题,或者我的应用程序出错了吗?


答案 1

很多事情都有可能,但我怀疑这一点:根据内存大小和CPU数量,jvm可能在服务器模式下运行,这会导致内存管理不同。使用 -server 选项强制其始终为服务器模式,然后再次比较。

还可以采取堆转储(jmap -dump)来查看占用如此多内存的内容,并堆叠跟踪(kill -3)以查看占用如此多CPU的内容。


答案 2