繁体   English   中英

SLURM-OutOfMemoryError:超出了GC开销限制

[英]SLURM - OutOfMemoryError: GC overhead limit exceeded

我已经向SLURM提交了抽签工作。

#!/bin/bash
#SBATCH --job-name=freset_weighting
#SBATCH --output=freset.out
#SBATCH --error=freset.err
#SBATCH --time=120:00:00
#SBATCH --mem=32769
#SBATCH --mail-type=BEGIN
#SBATCH --mail-type=END

java -jar ~/FReSET/freset_0.1.jar -XX:-UseGCOverheadLimit -Xmx32g

作业因以下错误而停止:

Exception in thread "main" java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)
Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded
    at java.util.regex.Matcher.<init>(Matcher.java:207)
    at java.util.regex.Pattern.matcher(Pattern.java:885)
    at java.util.regex.Pattern.split(Pattern.java:994)
    at java.util.regex.Pattern.split(Pattern.java:1056)

应该使用-XX:-UseGCOverheadLimit参数启动Java进程,以避免发生此错误。

干杯,马库斯

从Java用法

Usage:  java [-options] -jar jarfile [args...]
           (to execute a jar file)

因此您应该在“ -jar myJar.jar”之前指定选项“ -XX:-UseGCOverheadLimit -Xmx32g”

java -XX:-UseGCOverheadLimit -Xmx32g -jar ~/FReSET/freset_0.1.jar

如果您遇到此错误,尽管我会担心您的程序在做这样的超时工作,以使垃圾回收工作超时。 我建议做一些分析,找出是什么原因导致了这么多临时对象。 这个问题有一些关于调整的答案, 超出了GC开销限制

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM