大家好!我是老码农,一个喜欢技术、爱分享的同学,从今天开始和大家持续分享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