我正在尝试通过以下方式检查当前正在与 tomcat 一起使用的内存设置金額在 Ubuntu 上。
然而,当针对 tomcat PID 运行时jinfo -flags <PID>
,我收到以下错误:
$ sudo jinfo -flags 14930
Attaching to process ID 14930, please wait...
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:622)
at sun.tools.jinfo.JInfo.runTool(JInfo.java:97)
at sun.tools.jinfo.JInfo.main(JInfo.java:71)
Caused by: sun.jvm.hotspot.runtime.VMVersionMismatchException: Supported versions are 23.25-b01. Target VM is 24.65-b04
at sun.jvm.hotspot.runtime.VM.checkVMVersion(VM.java:234)
该错误表明版本不匹配(Supported versions are 23.25-b01. Target VM is 24.65-b04
)。
tomcat7实例配置了java-7-openjdk-amd64
但是,jinfo
使用的是 java-6-openjdk-amd64
为了查看是否有可以用作 java-7-openjdk-amd64 一部分的替代 jinfo,我运行了以下命令:
$ update-alternatives --get-selections | grep jinfo
jinfo auto /usr/lib/jvm/java-6-openjdk-amd64/bin/jinfo
但什么也没找到。然后我在 bin 目录中查找 java-7-openjdk-amd64,但当然也没有找到 jinfo。
java-7-openjdk-amd64 不再附带 jinfo 了吗?
Oracle 文档确实指出:
注意 - 此实用程序不受支持,在 JDK 的未来版本中可能会或可能不会提供
如果没有的话,还有其他选择吗?