我在用javaFx构建的java应用程序中遇到了一个问题。在windows中,它只消耗2-3%的cpu使用率和大约50 -80MB内存。但在mac上,同样的应用程序一开始只有50MB的内存,然后不断增加到1 GB,并使用了超过90%的CPU使用率。当我检查Mac任务管理器时,我发现了这个信息。当我使用java profiler查找内存泄漏时,profiler显示的内存使用情况与window相同(不超过100MB)。
我对Mac中的这种行为感到困惑。
以前有没有人遇到过这个问题,或者我的应用程序出了什么问题?
发布于 2013-07-24 06:47:34
有很多事情是可能的,但我怀疑:根据内存大小和cpu计数,jvm可能在服务器模式下运行,这会导致内存管理不同。使用-server选项强制它始终处于服务器模式,然后再进行比较。
我还可以使用堆转储(jmap )来查看是什么占用了这么多内存,并使用堆栈跟踪(kill -3)来查看是什么占用了这么多-dump。
https://stackoverflow.com/questions/16587023
复制相似问题