首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查找不推荐的JVM标志

查找不推荐的JVM标志
EN

Stack Overflow用户
提问于 2018-11-26 09:40:53
回答 3查看 2.8K关注 0票数 6

根据java -XX:+PrintFlagsFinal -version问题,我使用https://stackoverflow.com/questions/10486375/print-all-jvm-flags来比较升级到JVM 11的路径上的不同JDK的结果。

不过,我注意到PrintFlagsFinal的结果仍然会返回不推荐的选项,例如PrintGC仍然存在,尽管运行-XX:+PrintGC会发出警告&运行-Xlog:gc

那么,是否有一个类似于PrintFlagsFinal的选项,可以用来查找当前不推荐的所有选项,以避免使用它们?

(知道我可以手动检查发行说明,但是想知道是否有一种内置的方法可以从JVM中查找,类似于jdeprscan对于不推荐的模块依赖项)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-11-26 11:42:41

有多个“级别”的弃用:别名、弃用、过时和过期标志,其含义在arguments.cpp中描述。

除了上述类别之外,还有被统一JVM日志记录选项替换的不推荐使用的跟踪标志。

最后,在描述中有一些没有列出的标志只是“不推荐”。

我不知道有哪个地方可以将所有这些不推荐的标志收集在一起,但是从JVM源代码中提取它们是相当容易的:上述的arguments.cpp.hpp家族。我还推荐使用结构良好的按版本排列的VM选项资源管理器 JVM标志的HotSpot站点。

截至JDK 11,废弃/过时/过期和其他不受支持的标志列表包括:

代码语言:javascript
复制
AggressiveOpts
AllowNonVirtualCalls
AssumeMP
CheckAssertionStatusDirectives
CheckEndorsedAndExtDirs
CompilerThreadHintNoPreempt
CreateMinidumpOnCrash
DefaultMaxRAMFraction
DeferPollingPageLoopCount
DeferThrSuspendLoopCount
EnableTracing
FastTLABRefill
FreqCountInvocations
IgnoreUnverifiableClassesDuringDump
InitialRAMFraction
InlineNotify
MaxGCMinorPauseMillis
MaxPermSize
MaxRAMFraction
MinRAMFraction
MonitorInUseLists
MustCallLoadClassInternal
NativeMonitorFlags
NativeMonitorSpinLimit
NativeMonitorTimeout
PermSize
PrintCompressedOopsMode
PrintGC
PrintGCDetails
PrintMalloc
PrintMallocFree
PrintSafepointStatistics
PrintSafepointStatisticsCount
PrintSafepointStatisticsTimeout
PrintSharedSpaces
SafepointSpinBeforeYield
SharedMiscCodeSize
SharedMiscDataSize
SharedReadOnlySize
SharedReadWriteSize
ShowSafepointMsgs
TraceBiasedLocking
TraceClassLoading
TraceClassLoadingPreorder
TraceClassPaths
TraceClassResolution
TraceClassUnloading
TraceExceptions
TraceJVMTIObjectTagging
TraceLoaderConstraints
TraceMonitorInflation
TraceRedefineClasses
TraceSafepointCleanupTime
TraceScavenge
UnlinkSymbolsALot
UnsyncloadClass
UseAppCDS
UseConcMarkSweepGC
UseLockedTracing
UseMembar
UseUTCFileTimestamp
VMThreadHintNoPreempt

更新

多亏了@chriswhocode,VM选项资源管理器现在显示了不受欢迎的JVM标志。

票数 4
EN

Stack Overflow用户

发布于 2018-12-01 11:58:58

我在differences.html的VM资源管理器中添加了弃用信息

票数 3
EN

Stack Overflow用户

发布于 2018-11-26 14:38:26

如果您可以在应用程序上运行Java记录(例如,在开发设置中),并使用Java/JDK任务控件(>= 6.0.0)打开它,那么JMC将分析用于启动JVM的标志,并告诉您哪些标志是不推荐的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53478299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档