JVM调优指南-工具篇:jps

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