相关疑难解决方法(0)

-Xms:初始堆大小或最小堆大小?

-Xms是指定初始堆大小还是最小堆大小?我看到很多地方有很多不同的答案.有人喜欢这里的第二个答案,说它是初始堆,有些像这里说它的最小堆大小.或者最小尺寸本身是初始尺寸?

java memory parameters garbage-collection jvm

27
推荐指数
2
解决办法
5万
查看次数

指定的初始和最大堆大小不兼容

当我运行一个有NLP库的java类时,我得到了这个错误....

Error occurred during initialization of VM
Incompatible initial and maximum heap sizes specified
Run Code Online (Sandbox Code Playgroud)

任何想法我怎么能解决这个错误:)

java netbeans nlp jar

22
推荐指数
1
解决办法
7万
查看次数

堆参数对 GC/性能的影响?

网上的大部分地方,我得到以下有关堆参数的信息

-Xms<size> set initial Java heap size -Xmx<size> set maximum Java heap size

这是我提到-Xms 512M -Xmx 2048M参数时的理解/问题,

-Xms :-我的理解是,如果我的 java 进程实际上只需要 200M ,提到 -Xms 512M ,java 进程仍将只分配 200M(需要实际内存)而不是 500M 。但是,如果我已经知道我的应用程序将在启动时占用这 512M 内存,那么指定小于会对性能产生影响,因为无论如何需要调整堆块大小,这是一项代价高昂的操作。

根据与我的同事的讨论,默认情况下 GC 将在 Xms 值的 60% 上触发。那是对的吗 ?如果是,是依赖 Xms 值的次要 GC 还是完整 GC?

Xms 更新:- 在读取JVM 堆参数后这似乎是正确的,但默认情况下值再次为 60%,它是依赖于 Xms 值的次要 GC 还是完整 GC?

-Xmx:-我的理解是提到了 -Xmx 2048M ,java 进程实际上会保留 2048M 内存供操作系统使用,这样另一个进程就无法获得它的份额。如果 java 进程无论如何需要超过 2048M 的内存,那么内存不足会被抛出。

此外,我相信 Full GC 触发器与 -Xmx 的值存在某种关系。因为我观察到的是当内存接近 Xmx …

java garbage-collection memory-management heap-memory

2
推荐指数
1
解决办法
5242
查看次数