我已经在这里阅读了关于此问题的所有其他问题,以及关于互联网其他部分的许多文章。根据{{3}},最大内存使用量遵循以下公式:
Max memory = [-Xmx] + [-XX:MaxPermSize] + number_of_threads * [-Xss]
我试过的旗帜:
-Xss[16-128M]
-XX:MetaspaceSize=[64-256M] -XX:MaxMetaSpace=[64-256M]
-XX:PermSize=[128-256M] -XX:MaxPermSize[128-256M]
但是,当我使用-Xmx2G和所有这些标志启动我的Java应用程序时,RAM使用率会慢慢上升到6 GB以上,并且当它分配的能力超过我的8GB系统时,最终会停止或冻结。 / p>
背景:程序是一款游戏,我正在运行Linux和Java 8.
答案 0 :(得分:0)
尝试使用visualvm插件进行缓冲池。您可以看到分配了多少直接和映射内存