3

glassfish 管理指南指出应该添加 JVM 选项asadmin create-jvm-options -Dkey=value:-Dkey=valuehttps://glassfish.java.net/docs/4.0/administration-guide.pdf,S . 120)。当然,这些示例不包括添加包含选项的有趣且具有教学意义的重要案例,:并且选项以开头-XX而不是-D. :但是,它被解释为使用逃逸\。调用asadmin create-jvm-options -XX\:MaxPermSize=1024m:-Xmx4096会添加两个选项而不删除\哪个(正确)防止(错误)选项被识别。在这里进行的正确方法是什么?

如何覆盖现有选项?如果使用相同的值指定选项名称,则asadmin create-jvm-options抱怨该选项已存在,指定另一个值,值都存在(-> 使用哪个?)。我真的不必解析和评估 的输出asadmin list-jvm-options,对吗?

如何确定是否添加了选项,即是否必须重新启动域?同样的问题:我真的不必解析和评估asadmin list-jvm-options添加选项前后的输出,对吗?

4

3 回答 3

5

在这里进行的正确方法是什么?

您必须使用以下命令删除 JVM 选项asadmin delete-jvm-options

asadmin delete-jvm-options '-XX\:MaxPermSize=192m'

然后使用新值再次添加选项:

asadmin create-jvm-options '-XX\:MaxPermSize=1024m'

更改 JVM 选项后始终需要重新启动服务器。

如何覆盖现有选项?如果使用相同的值指定选项名称,则asadmin create-jvm-options抱怨该选项已存在,指定另一个值,值都存在(-> 使用哪个?)。我真的不必解析和评估 的输出asadmin list-jvm-options,对吗?

如果您按照上述说明进行操作,我想这个问题已经过时了。

如何确定是否添加了选项,即是否必须重新启动域?同样的问题:我真的不必解析和评估asadmin list-jvm-options添加选项前后的输出,对吗?

asadmin命令会告诉您它是否已成功添加或删除选项。如果您尝试删除不存在的选项,asadmin将告诉您没有删除任何选项,因为它不存在。

更新:

为了删除选项我必须知道键和值(如果选项集是 -XX:MaxPermSize=193m 我该怎么办 -> 它不会被删除,但 asadmin 会产生第二个选项(顺序不清楚),因此我必须解析 asadmin list-jvm-options 的输出)。

如果您之前没有设置它,为什么它应该具有该值193m(然后您可能知道它)?如果它有这个值,是的,你是对的,你必须解析输出list-jvm-options才能找到它。您还可以编写一个脚本,尝试通过增加参数(192m193m194m)来删除该值,但这需要很长时间才能完成。

asadmin 如何告诉我这个(返回代码、输出……)?

它输出人类可读的消息,如下所示:

deleted 1 option(s)
Command delete-jvm-options executed successfully.

或者

created 1 option(s)
Command create-jvm-options executed successfully.

尝试自己查看不同的消息。

我指的是 GF 4.0,因此指向 3.0.1 管理指南的链接已过时。

他们不是,GlassFish 管理,并且asadmin在 GlassFish 3 和 4 中是 99.9%。

逃跑的问题呢?

我无法重现这一点,也许一次只设置一个值或将参数和值括在引号中会有所帮助。

也可以看看:

于 2014-07-13T15:15:02.693 回答
1

[glassfish@6b99de007186 /]$ asadmin delete-jvm-options -client:'-XX:MaxPermSize=192m':-Xmx512m Deleted 3 option(s) 命令 delete-jvm-options 执行成功。

[glassfish@6b99de007186 /]$ asadmin create-jvm-options -server:'-XX:MaxPermSize=256m':-Xmx1024m Created 3 option(s) 命令 create-jvm-options 执行成功。

于 2015-04-30T15:22:03.353 回答
1

命令行的其他替代方法是将 JVM 属性手动添加到 Glassfish domain.xml 文件。

您可以在以下位置找到该文件:pat-to-glassgish\Glassfish\glassfish\domains\yourdomain\config

在那里,您将看到 jvm-options 的部分,如下所示:

<jvm-options>-Dhttps.protocols=TLSv1.2</jvm-options>

你可以在那里添加你的。

我希望它有帮助:-)

于 2018-02-12T12:57:29.130 回答