Java常用命令

简介: jps    查看java进程的PID java -XX:+PrintFlagsInitial    显示所有可设置参数及默认值 java -XX:+PrintFlagsFinal    获取到所有可设置参数及值(手动设置之后的值) java -XX:+PrintComma...
jps    查看java进程的PID
java -XX:+PrintFlagsInitial    显示所有可设置参数及默认值
java -XX:+PrintFlagsFinal    获取到所有可设置参数及值(手动设置之后的值)
java -XX:+PrintCommandLineFlags    显示出JVM初始化完毕后所有跟最初的默认值不同的参数及它们的值
jmap -histo [pid]    查看java堆上的对象分布情况
java用法: java [-options] class [args...](执行类)或 java [-options] -jar jarfile [args...](执行 jar 文件)
譬如:java -cp . -Xmx3G -Xmn2G -server -XX:-TieredCompilation AppMain
[-options]
    -d32 使用 32 位数据模型 (如果可用)
    -d64 使用 64 位数据模型 (如果可用)
    -server 选择 "server" VM,默认 VM 是 server
    -cp <目录和 zip/jar 文件的类搜索路径>
    -classpath <目录和 zip/jar 文件的类搜索路径>,用 : 分隔的目录, JAR和 ZIP列表, 用于搜索类文件。
    -D<名称>=<值> 设置系统属性
    -verbose:[class|gc|jni] 启用详细输出
    -version 输出产品版本并退出
    -showversion 输出产品版本并继续
    -Xdiag 显示附加诊断消息
    -Xnoclassgc 禁用类垃圾收集
    -Xincgc 启用增量垃圾收集
    -Xloggc:<file> 将 GC 状态记录在文件中 (带时间戳)
    -Xbatch 禁用后台编译
    -Xms<size> 设置初始 Java 堆大小
    -Xmx<size> 设置最大 Java 堆大小
    -Xss<size> 设置 Java 线程堆栈大小
    -Xprof 输出 cpu 配置文件数据
    -XshowSettings 显示所有设置并继续
    -XshowSettings:all 显示所有设置并继续
    -XshowSettings:vm 显示所有与 vm 相关的设置并继续
    -XshowSettings:properties 显示所有属性设置并继续
    -XshowSettings:locale 显示所有与区域设置相关的设置并继续
    -XX:-UseBiasedLocking    关闭偏向锁默认会进入轻量级锁状态
    -XX:-DoEscapeAnalysis 关闭逃逸分析
    -XX:-TieredCompilation 关闭分层编译
    -XX:-BackgroundCompilation 关闭异步编译
    -XX:CompileThreshold 方法调用次数或循环次数达到这个阈值就会触发标准编译(client:1500,server:10000)
ps:

触发OSR编译的阈值计算(OSR编译就是只编译该循环代码不编译类的其他方法)
-XX:CompileThreshold = 10000
-XX:OnStackReplacePercentage = 140
-XX:InterpreterProfilePercentage = 33
OSR trigger = (CompileThreshold * (OnStackReplacePercentage - InterpreterProfilePercentage)) / 100 = 10700
JIT编译在默认情况是异步进行的,当触发某方法或某代码块的优化时,先将其放入编译队列,然后由编译线程进行编译,编译之后的代码放在CodeCache中,CodeCache的大小也是有限的,CompileThreshold设置的太低,JIT会将一大堆执行不那么频繁的代码进行编译,并放入CodeCache,导致之后真正执行频繁的代码没有足够的空间存放。

 
 
 
 
 
 
 
 
 
 
 
 
 
 
目录
相关文章
|
6月前
|
Arthas 存储 监控
Arthas heapdump(dump java heap, 类似 jmap 命令的 heap dump 功能)
Arthas heapdump(dump java heap, 类似 jmap 命令的 heap dump 功能)
444 8
|
7月前
|
监控 数据可视化 Java
调试技巧 - 用Linux命令排查Java问题
总的来说,使用Linux命令来排查Java问题,需要一定的实践经验和理论知识。然而,只要我们愿意花时间深入了解这些工具,我们就能够熟练地使用它们来分析和解决问题。此外,这些工具只是帮助我们定位问题,真正解决问题需要我们对Java和JVM有深入的理解,并能够读懂和分析代码。
454 13
|
9月前
|
消息中间件 存储 NoSQL
java连接redis和基础操作命令
通过以上内容,您可以掌握在Java中连接Redis以及进行基础操作的基本方法,进而在实际项目中灵活应用。
519 30
|
9月前
|
Java
Java中执行命令并使用指定配置文件的最佳实践
通过本文的介绍,您可以了解如何在Java中使用 `ProcessBuilder`执行系统命令,并通过指定配置文件、设置环境变量和重定向输入输出流来控制命令的行为。通过这些最佳实践,可以确保您的Java应用程序在执行系统命令时更加健壮和灵活。
265 7
|
Java Windows
JAVA 常用的 DOS 命令
【10月更文挑战第15天】DOS 命令是 Java 开发中不可或缺的工具,掌握这些命令可以提高开发效率和操作便利性。
235 63
|
Java Shell Windows
java Runtime.exec()执行shell/cmd命令:常见的几种陷阱与一种完善实现
java Runtime.exec()执行shell/cmd命令:常见的几种陷阱与一种完善实现
280 1
|
运维 监控 Java
使用jps命令查看Java进程
`jps`是Java开发者和系统管理员的得力助手,它简化了Java进程监控的过程,使得快速检查应用运行状态变得轻而易举。通过合理利用其提供的参数,可以高效地进行故障排查、性能监控及日常管理任务,确保Java应用稳定运行。
976 2
|
Java Shell Windows
java Runtime.exec()执行shell/cmd命令:常见的几种陷阱与一种完善实现
java Runtime.exec()执行shell/cmd命令:常见的几种陷阱与一种完善实现
386 6
|
监控 JavaScript 前端开发
JAVA常用的DOS命令
JAVA常用的DOS命令
|
Java Windows
【Azure Developer】Windows中通过pslist命令查看到Java进程和线程信息,但为什么和代码中打印出来的进程号不一致呢?
【Azure Developer】Windows中通过pslist命令查看到Java进程和线程信息,但为什么和代码中打印出来的进程号不一致呢?
197 1