JVM调优指南-工具篇:jps

【JVM调优指南-工具篇:jps】大家好!我是老码农 , 一个喜欢技术、爱分享的同学 , 从今天开始和大家持续分享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:UsersAdministrator>jps -helpusage: jps [-help]jps [-q] [-mlvV] [<hostid>]Definitions:<hostid>:<hostname>[:<port>]
  • 显示进程
C:UsersAdministrator>jps21136 RemoteMavenServer368160 Launcher25492 Jps27704 RemoteMavenServer3627784 RemoteMavenServer36
  • 只显示进程PID:-q
C:UsersAdministrator>jps -q2113681602770427784182842666827708
  • 显示JVM启动参数:-v
C:UsersAdministrator>jps -v21136 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 -mlv21136 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



    推荐阅读