Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/64.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 8 Wildfly 16:在Java8中更改XX:MaxMetaspaceSize有什么好处?_Java 8_Out Of Memory_Wildfly_Metaspace - Fatal编程技术网

Java 8 Wildfly 16:在Java8中更改XX:MaxMetaspaceSize有什么好处?

Java 8 Wildfly 16:在Java8中更改XX:MaxMetaspaceSize有什么好处?,java-8,out-of-memory,wildfly,metaspace,Java 8,Out Of Memory,Wildfly,Metaspace,我在Wildfly中遇到了元空间问题 目前XX:MaxMetaspaceSize为256M。但我在不同项目的多个服务器组中多次遇到以下问题(总共有50个项目分布在服务器组中)。每天都要面对以下的例外 failed to define class: OutOfMemoryException: Metaspace 大多数帖子(stackoverflow和其他帖子)建议在wildfly的情况下应该是2GB 但我在不同的文章中读到,在Java 8中,没有必要增加元空间: In Java 8, the

我在Wildfly中遇到了元空间问题

目前XX:MaxMetaspaceSize为256M。但我在不同项目的多个服务器组中多次遇到以下问题(总共有50个项目分布在服务器组中)。每天都要面对以下的例外

failed to define class: OutOfMemoryException: Metaspace
大多数帖子(stackoverflow和其他帖子)建议在wildfly的情况下应该是2GB

但我在不同的文章中读到,在Java 8中,没有必要增加元空间:

In Java 8, the metaspace that holds your classes can expand without limit by default,
你能解决这个困惑吗?如果元空间是自动增加的,假设我设置了256,那么它不会自动增加吗?2G的好处是什么。

在Java 8中,类元数据存储在本机内存中,默认情况下不受限制
MaxMetaspaceSize
对用于类元数据的本机内存设置了上限

如果还启用了
UseCompressedOops
UseCompressedClassesPointers
,则
MaxMetaspaceSize
设置用于类元数据的本机内存区域总和的上限-压缩类元数据的区域和所有其他类元数据的区域


另外,2GB听起来有点高。我会慢慢地增加和测试,以确保您将其设置为满足您需求的最佳值

“2G”是一个任意数字,就像“256M”一样。我想,人们之所以这么说,是因为“2G”比“256M”大得多,而不是因为他们知道一些具体的东西。是的,当您不指定上限时,就不会有上限(实际机器的内存除外)。