关于java:Java程序性能分析开篇之jps

45次阅读

共计 989 个字符,预计需要花费 3 分钟才能阅读完成。

一、前言

  • 开发 Java 我的项目过程中,难免会碰到一些 性能 问题,这时候就须要一些工具,帮忙排查
  • 本文开篇次要介绍 JDK 自带的工具 jps,获取 Java 程序列表,以 openjdk 11.0.10 为例

二、Java 程序列表:jps

1. 简介

  • 用来查找以后用户的 Java 过程,而不能查找以后零碎中其余用户的过程
  • 相比 Linux 零碎 的 ps -ef | grep java,Windows 零碎 的 tasklist | findstr java,jps 查找 Java 过程命令更简洁
  • 列表外面会多一个 Jps 的过程,每次过程号都不一样

2. jps:输入 过程号、利用主类名

不蕴含包名,有些类名不容易分辨是哪个服务的过程,如下第 3 个 Launcher

15056 
31504 RemoteMavenServer36
17604 Launcher
11368 
32764 Jps

3. jps -l:多输入 包名

输入包名,能帮忙分辨 是哪个服务的过程,如下第 3 个是 IDEA 开发工具的 Launcher

15056 
31504 org.jetbrains.idea.maven.server.RemoteMavenServer36
17604 org.jetbrains.jps.cmdline.Launcher
32324 jdk.jcmd/sun.tools.jps.Jps
11368

4. jps -m:多输入 jar 门路

  • 相比 jps,多输入 jar 门路

5. jps -v:多输入 启动参数

  • 相比 jps,多输入 启动参数

6. jps -V:输入 flag 文件的 JVM 参数

  • 输入通过 flag 文件传递到 JVM 中的参数(很少用到)
  • .hotspotrc 文件或 – XX:Flags = 所指定的文件。没有配置时,成果和 jps 一样

7. jps -q:只输入 过程号

  • 只输入 过程号,比拟实用于 docker、k8s 容器等 只有 1 个 Java 过程的场景
  • 然而还有一个 jps 过程号烦扰,并且只有过程号,不好辨别哪个是 jps 过程

    15056
    31504
    17604
    11368

三、总结

  • 相比 Linux 零碎 的 ps -ef | grep java,Windows 零碎 的 tasklist | findstr java,jps 查找 Java 过程命令更简洁
  • 前面将持续介绍 JDK 自带、第三方的 性能剖析工具,敬请期待哦

本文恪守【CC BY-NC】协定,转载请保留原文出处及本版权申明,否则将查究法律责任。
本文首先公布于 https://www.890808.xyz/,其余平台须要审核更新慢一些。

正文完
 0