如何使用命令行为JAVA分配空间

 左右印象摄影 发布于 2023-02-08 18:38

我在将大型数据集加载到Jena时遇到了堆错误.`有没有办法可以为JVM(Java)分配一个大的堆空间.

我知道我可以通过更改eclipse.ini来实现这一点.但是在某种程度上我可以使用linux中的命令行来增加Java堆大小(我使用64GB RAM服务器:运行12.04 Ubuntu LTS服务器)?

由于堆空间较少而导致的错误是:超出了线程主gc开销限制的异常.

另外,我如何找到可以为系统设置的最大堆空间量

我尝试导出JAVA_OPTS = -Xms4096m -Xmx4096m,但最终得到错误:bash:export:-Xms4096m': not a valid identifier bash: export:-Xmx4096m':不是有效的标识符

2 个回答
  • java -Xms4096m -Xmx4096m [YourAppHere]
    

    此命令将在开始时分配4GB(或4096 MB)堆内存(-Xms4096m选项),并且最大堆内存大小为4GB(-Xmx4096m选项).

    显然,您可以将数字更改为您想要的任何大小.如果计算机必须增加内存大小(每次增加内存大小,它会使分配加倍),就会产生开销.所以如果你有那么多内存,你可以在应用程序的开头分配它.

    2023-02-08 18:40 回答
  • 尝试(注释引号不是两个单词的可选)

    export JAVA_OPTS="-Xms4096m -Xmx4096m"
    

    甚至

    export MIN="4096m" # <-- Those quotes are (one word).
    export MAX="4096m"
    export JAVA_OPTS="-Xms$MIN -Xmx$MAX" # <-- single quotes would break variable expansion
    

    2023-02-08 18:41 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有