java - Java 程序最大内存只有 880 MB

标签 java memory memory-management ram

我正在尝试为具有 4400 条记录和 27000 个特征的数据集创建一个 HashMap。我在 eclipse 的 .ini 文件中将最大限制增加到 4G。但是,当我在 java 程序中打印 maxMemory 时,它显示为 880 MB。我尝试了不同的 xms 和 xmx 值

我不确定为什么只选择 880 MB?

java.lang.OutOfMemoryError: GC overhead limit exceeded

最后我得到了这个错误。如果我通过更改 .ini 文件来阻止这种情况,我会收到堆错误。

最佳答案

您应该增加 JVM 的最大堆大小。 在 Eclipse 中,您必须在调试配置 --> 参数中设置它。 从 google 查找您的 JVM 版本的最小/最大参数名称。 我正在使用 HotSpot,参数名称是 -Xms2000m -Xmx2000m

关于java - Java 程序最大内存只有 880 MB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16183825/

相关文章:

java - 用Java计算支票号码

linux - 如何在 linux 内核中处理页面错误?

C++:编译器如何知道为每个堆栈帧分配多少内存?

c++ - 删除前在 C++ 中测试 void 指针

Java 进程内存无限增长。内存泄漏?

postgresql - Linux 页面缓存替换

Java 彩票重复程序

java - 如何在低于用户类级别的Java中拦截对象创建

java - 错误 - trustAnchors 参数必须非空

C#优化内存使用: How to free memory claimed by DataTable