
大家好!我是老码农,一个喜欢技术、爱分享的同学,从今天开始和大家持续分享JVM调优方面的经验。
JVM调优是个大话题,涉及的知识点很庞大
- 模型
- 垃圾回收机制
- 各种工具使用
- 参数配置
- 调优指标设置
- ...
所以这会是个持续分享的活,急不得。感兴趣的同学,我们一起学习,攻下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. - 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:UsersAdministrator>jps -help
usage: jps [-help]
jps [-q] [-mlvV] [<hostid>]
Definitions:
<hostid>: <hostname>[:<port>]
- 显示进程
C:UsersAdministrator>jps
21136 RemoteMavenServer36
8160 Launcher
25492 Jps
27704 RemoteMavenServer36
27784 RemoteMavenServer36
- 只显示进程PID:-q
C:UsersAdministrator>jps -q
21136
8160
27704
27784
18284
26668
27708
- 显示JVM启动参数:-v
C:UsersAdministrator>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
FilesJetBrainsIntelliJ IDEA Community Edition 2021.2.3pluginsmavenlibmaven-event-listener.jar -Dfile.encoding=GBK
- 组合使用:-mlv
C:UsersAdministrator>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 FilesJetBrainsIntelliJ IDEA Community Edition 2021.2.3pluginsmavenlibmaven-
event-listener.jar -Dfile.encoding=GBK胜象大百科 







