大家好!我是老码农,一个喜欢技术、爱分享的同学,从今天开始和大家持续分享JVM调优方面的经验。
JVM调优是个大话题,涉及的知识点很庞大
- Java内存模型
- 垃圾回收机制
- 各种工具使用
- 参数配置
- 调优指标设置
- …
所以会是个持续分享的活,急不得。感兴趣的同学,我们一起学习,攻下JVM调优这座山头。
今日分享主题
JDK的bin目录下提供了很多和Java相关的小工具,后面会陆续分享提供的这些工具。
例如:
- 服务器上跑着那些Java的服务呢?如何查找Java服务进程呢?
刚才说的这个话题,其实就是查找服务器上启动着哪些Java进程,jps命令就该出场了
jps
- JVM Process Status Tool的简写,虚拟机状态查询工具
- JDK1.5提供查看当前系统Java进程的命令
- 位置:Java安装目录:bin下面
官方文档
- Java 8
- https://docs.oracle.com/javase/8/docs/technotes/tools/unix/jps.html
- Java 14
- https://docs.oracle.com/en/java/javase/14/docs/specs/man/jps.html
功能
- 列出正在执行的JVM进程PID及进程启动的参数信息
语法
usage: jps [-help]
jps [-q] [-mlvV] [<hostid>]
Definitions:
<hostid>: <hostname>[:<port>]
参数列表
| 参数 | 说明 |
|---|---|
| -q | 只显示进程pid |
| -m | 显示主函数 |
| -l | 显示完整的package路径及jar文件 |
| -v | 显示JVM启动时的JVM参数 |
使用范例
-
查看帮助
C:\Users\Administrator>jps -help usage: jps [-help] jps [-q] [-mlvV] [<hostid>] Definitions: <hostid>: <hostname>[:<port>] -
显示进程ID和main函数
C:\Users\Administrator>jps 21136 RemoteMavenServer36 8160 Launcher 25492 Jps 27704 RemoteMavenServer36 27784 RemoteMavenServer36 -
只显示进程PID:-q
C:\Users\Administrator>jps -q 21136 8160 27704 27784 18284 26668 27708 -
显示JVM启动参数:-v
C:\Users\Administrator>jps -v 21136 RemoteMavenServer36 -Djava.awt.headless=true -Dmaven.defaultProjectBuilder.disableGlobalModelCache=true -Didea.version=2021.2.3 -Didea.maven.embedder.version=3.6.3 -Xmx768m -Dmaven.ext.class.path=C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2021.2.3\plugins\maven\lib\maven-event-listener.jar -Dfile.encoding=GBK -
组合使用:-mlv
C:\Users\Administrator>jps -mlv 21136 org.jetbrains.idea.maven.server.RemoteMavenServer36 -Djava.awt.headless=true -Dmaven.defaultProjectBuilder.disableGlobalModelCache=true -Didea.version=2021.2.3 -Didea.maven.embedder.version=3.6.3 -Xmx768m -Dmaven.ext.class.path=C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2021.2.3\plugins\maven\lib\maven-event-listener.jar -Dfile.encoding=GBK
3万+



被折叠的 条评论
为什么被折叠?



