java - 如何确定是否在 JVM 实例上设置了 -server 选项

标签 java jvm jvm-arguments

我正在尝试确定是否在我的 JVM 实例上默认启用了 JVM(使用 jdk 1.7u3)-server 选项。基于我的环境 (Windows 2008 Server R2) 和 Server-Class Machine detection information尽管我想明确知道,但我希望它会被设置。当然,我可以使用该选项显式启动 JVM,而且我很可能会这样做,不过是否有一种简单的方法来确定它。

我已经尝试过以下方法,但似乎都没有明确说明我在寻找什么。也许它编码在其他一些细节中。

  1. 通过 jVisualVM 查看 JVM 并查看未明确列出的 JVM 参数
  2. 以编程方式尝试查看 JVM 参数,与通过 jVisualVM 观察到的参数相匹配

    RuntimeMXBean RuntimemxBean = ManagementFactory.getRuntimeMXBean();
    List<String> arguments = RuntimemxBean.getInputArguments();     
    
  3. 使用 JVM 选项 -XX:+PrintCommandLineFlags,这提供了详细信息,但仍然没有证据表明设置了 -server 选项。

最佳答案

您可以通过运行 java -version 命令找到:

下面是使用 -server 标志运行的 JVM 示例

Java 版本“1.7.0_17”
Java(TM) SE Runtime Environment (build 1.7.0_17-b02)
Java HotSpot(TM) 64 位服务器 VM(构建 23.7-b01,混合模式)

如果是 -client,它将显示 64 位客户端 VM

大多数情况下它取决于 CPU 和物理内存的数量。更多的 @ http://docs.oracle.com/javase/7/docs/technotes/guides/vm/server-class.html

关于java - 如何确定是否在 JVM 实例上设置了 -server 选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11521691/

相关文章:

java - 无法创建 Java 虚拟机,它表示不支持认可

java - Android 中的 Nanohttpd 不提供文件服务

java - 如何从 Java 对象(REXP 对象)获取值?

java - 运行 Maven 时为 "Invalid maximum heap size"

postgresql - Talend 中的 Postgres 游标计算

java - 我传递给 JVM 的选项似乎没有效果

java - 我如何读取 XX :MaxPermSize during runtime?

java - Java 中的自定义正则表达式替换

jvm - 如何调试 Java 代理

Java堆Xms和linux空闲内存不同