Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.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 云数据流-增加JVM Xmx值_Java_Google Cloud Platform_Google Cloud Dataflow - Fatal编程技术网

Java 云数据流-增加JVM Xmx值

Java 云数据流-增加JVM Xmx值,java,google-cloud-platform,google-cloud-dataflow,Java,Google Cloud Platform,Google Cloud Dataflow,我们正在尝试在云中运行Google Cloud数据流作业,但我们不断得到“java.lang.OutOfMemoryError:java堆空间” 我们正试图处理一个大查询表中的6.1亿条记录,并将处理后的记录写入12个不同的输出(主输出+11个侧输出) 我们已经尝试将实例数量增加到64个n1-standard-4实例,但仍然存在问题 虚拟机上的Xmx值似乎设置为~4GB(-Xmx3951927296),即使实例有15GB内存。有没有办法增加Xmx值 作业ID为-2015-06-11_21_32_

我们正在尝试在云中运行Google Cloud数据流作业,但我们不断得到“java.lang.OutOfMemoryError:java堆空间”

我们正试图处理一个大查询表中的6.1亿条记录,并将处理后的记录写入12个不同的输出(主输出+11个侧输出)

我们已经尝试将实例数量增加到64个n1-standard-4实例,但仍然存在问题

虚拟机上的Xmx值似乎设置为~4GB(-Xmx3951927296),即使实例有15GB内存。有没有办法增加Xmx值


作业ID为-2015-06-11_21_32_32-1690408794426468793

您不能直接设置堆大小。但是,数据流会根据机器类型扩展堆大小。通过设置标志“-machineType”,可以选择内存更多的机器。堆大小应随机器类型的总内存线性增加

数据流故意限制堆大小,以避免对洗牌器产生负面影响

您的代码是否从内存中的多个记录显式累积值?您是否认为4GB对于任何给定的记录都是不够的


数据流的内存需求应该随着单个记录的大小和代码在内存中缓冲的数据量而扩展。数据流的内存需求不应随着记录数量的增加而增加。

Xms只是最小堆空间-Xmx值是多少?对不起,我要问Xmx值。您使用了什么方法来获取Xmx值?我们的记录的大小非常小。我可以很容易地在较小的数据集上本地运行作业,并且具有较少的边输出。当在云中运行大型数据集时,它只会导致内存不足异常。有没有办法在google cloud数据流中定义或传递JVM参数?