Tag: 虚拟内存

在Eclipse中增加Java堆大小 – 使用虚拟内存

我在Eclipse(Windows)中运行程序,需要相对大的内存。 将-Xmx1500m传递给程序似乎还不够,而Eclipse不允许我分配更大的值。 有了这个配置,我得到了内存不足的exception。 我将虚拟内存大小增加到40GB 。 有没有办法让我的程序可以使用这个内存? 我在C#中轻松完成了这项工作,几乎完全相同。

获取JVM以根据需要增加内存需求,直至达到VM限制的大小?

我们发布了一个Java应用程序,其内存需求可能会有很大差异,具体取决于它正在处理的数据大小。 如果未设置最大VM(虚拟内存)大小,则JVM通常会在大数据上因GC失败而退出。 我们希望看到的是,JVM请求更多内存,因为GC无法提供足够的内存,直到总可用VM耗尽为止。 例如,以128Mb开始,并在GC失败时增加几何(或其他一些步骤)。 JVM(“Java”)命令行允许显式设置最大VM大小(各种-Xm *命令),并且您认为这将被设计为足够的。 我们尝试在随应用程序提供的.cmd文件中执行此操作。 但是如果你选择任何特定的数字,你会得到两种不良行为之一:1)如果你的数字足够小,可以在大多数目标系统上工作(例如,1Gb),那么它对于大数据来说不够大,或者2)如果如果它非常大,JVM拒绝在实际VM小于指定的系统上运行。 如何设置Java以在需要时使用可用的VM,而不事先知道这个数字,并且在启动时没有抓住它?