Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何提高Java和cplex内存使用率_Java_Cplex - Fatal编程技术网

如何提高Java和cplex内存使用率

如何提高Java和cplex内存使用率,java,cplex,Java,Cplex,我们开发了一个Java代码,并使用cplex解决了一个lp模型 我们遇到了内存错误 当我们使用-Xmx1450命令行选项增加cplex内存使用时,我们收到了cplex内存不足错误,当减少它时,java给出了堆空间错误。我们有6GB内存和CPU Intel i7 950 内存使用率永远不会增加到38%以上,我们不能将-Xmx增加到1450以上。 构造模型(添加约束)时出错。cplex可能捕获JavaOutOfMemoryError并显示自己的错误。所以这两个错误基本上是相同的,但发生在不同的阶段

我们开发了一个Java代码,并使用cplex解决了一个lp模型

我们遇到了内存错误

当我们使用
-Xmx1450
命令行选项增加cplex内存使用时,我们收到了cplex内存不足错误,当减少它时,java给出了堆空间错误。我们有6GB内存和CPU Intel i7 950

内存使用率永远不会增加到38%以上,我们不能将
-Xmx
增加到
1450
以上。
构造模型(添加约束)时出错。

cplex可能捕获Java
OutOfMemoryError
并显示自己的错误。所以这两个错误基本上是相同的,但发生在不同的阶段


您需要的是64位操作系统和64位版本的Java。这将允许您为Java提供更多内存。

什么是cplex?请编辑您的问题。并告诉我们您正在使用的操作系统和Java的版本。为什么不能将其增加到1450m以上?您有32位JVM吗?你确定当它收到OutOfMemoryError时,它没有尝试使用所有内存吗?您是否可以触发HeapDumpOnAutofMemoryError以查看堆有多大以及什么在使用空间?它是什么类型的OOM?永久基因?有多个-X参数会影响JVM内存分配。您可以在模型创建期间节省一些内存使用。我们在WindowsXP32位和64位以及Java32位和64位上测试它。cplex是一个优化软件。它是32位操作系统和Java都必须支持64位,然后你可以给Java更多的内存。在这种情况下,我们给出了一个错误,cplex不能在64位模式下构建dll文件。啊,我们开始吧。您还需要64位版本的“cplex”。@Mehdifalahi cplex在大多数平台上都有64位版本。它已经拥有它们很多年了。CPLEX是一个库,它不“构造”任何dll文件。