JVM调优指南-工具篇:jps

JVM调优必备工具小结 Java中高级工程师必备线上虚拟机(JVM)工具 文章目录Java中高级工程师必备线上虚拟机(JVM)工具虚拟机工具的意义JPS实战Jstat实战Jinfo实战Jmap实战Jhat模拟OOM异常自动转储快照实战JstackJConsole实战VisualVM 虚拟机工具的意义 给⼀个系统定位问题的时候,知识、经验是关键基础,数据是依据,⼯具是运⽤知识处理数据的⼿段 数据包括:运⾏⽇志、异常... 阅读详情

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

    C:\Users\Administrator>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 Files\JetBrains\IntelliJ IDEA Community Edition 2021.2.3\plugins\maven\lib\maven-event-listener.jar -Dfile.encoding=GBK
    
【Pytorch】DCGAN实战(三):二次元动漫头像生成 文章目录1.实现效果2.环境配置2.1Python2.2Pytorch、CUDA2.3Python IDE3.具体实现3.1数据预处理(data.py)(1)导入包(2)定义数据类3.2模型Generator,Discriminator,权重初始化(model.py)(1)导入包(2)Generator(3)Discriminator(4)权重初始化3.3网络训练(net.py)(1)导入包(2)创建类3.4 主函数(main.py)(1)导入文件(2)定义超参数(3)实例化(4)进行训练4.训练过程4.1 阅读详情

相关推荐

三维(点云)语义分割概述以及方法总结

语义分割 语义分割需要两部分 classification: 需要全局信息 segmentation:更加依赖全局信息和局部信息 一般的网络结构是: 提特征-特征映射-特征图压缩(降维)-全连接-分类,其实就是encoder-decoder的过程, 比如在二维的的pspnet,fcn等等 0. 三维表示的数据结构 Point cloud 无序性 点云实际上是无序的,比如有8个点云,你放到...

renhaofan的博客 3万+

org.jetbrains.idea.maven.server.RemoteMavenServer36

com.intellij.execution.ExecutionException: 错误: 找不到或无法加载主类 org.jetbrains.idea.maven.server.RemoteMavenServer36。## 错误详情org.jetbrains.idea.maven.server.RemoteMavenServer36。> Idea 版本 : 2019.2.4 Maven 版本:apache-maven-3.6.3。

geejkse_seff的博客 2304

基于CRU和WorldClim的高分辨率(1km)气候数据生成

基于CRU和WorldClim的高分辨率(1km)气候数据生成

lhq7842955的博客 1693

JVM性能监控之命令行工具全解

Jdk自带监控命令行工具全解,包括jps、jstat、jinfo、jmap、jhat、jstack、jcm、jstatd

全栈行动派的博客 1888

UE5.5使用ControlRig实现MetaHumanNPC看向玩家

本文介绍了在虚幻引擎中实现NPC自然看向玩家的技术方案。通过MetaHuman的ControlRig系统,采用面部动画曲线+全身动画Montage的表演方式,结合ControlRig驱动CTRL_lookat控制器实现视线追踪。

平常心 1302

通过arcmap制作的第一张流域图

需要知道,识别河流依次需要填洼,流向,流量,栅格计算器,河流链接,河网分级.通过卫星图确定河流入口,在入口处画一个点,注意不要与其他河流相交。随后是进行对河流的筛选使用con函数,筛选流量大于100的河流。我们使用镶嵌工具-->镶嵌至新栅格 将两个数据合并。填洼后如图,随后进行流向的获得.使用流向工具。首先导入准备好的数据,可见两张图片并非一体。教程参考b站up:爱画地图的boney。惊醒栅格河网矢量化,进行河流分级。输入表面栅格数据,等待后如图。本次制作的是双峰县的流域图。输入流向数据,输出后如图。

pianmian1的博客 2229

linux Jetty安装后启动报错-UnsupportedClassVersionError---Unsupported major.minor version 52.0

linux 上第一次装Jetty后。 运行报错如下 Exception in thread "main" java.lang.UnsupportedClassVersionError: org/eclipse/jetty/start/Main : Unsupported major.minor version 52.0 at java.lang.ClassLoader.defin

liushaoming 4333

Virtual Hard Disk version 2 (VHDX) 文件格式详解

VHDX 镜像格式详解 0. References windows github 1. Overview Microsoft 虚拟化产品中常用的映像格式是虚拟硬盘版本 2 (VHDX) 映像格式。该规范基于可用文档,并通过分析测试数据进行了增强。 VHDX 镜像格式种类 固定硬盘镜像 动态硬盘镜像 差异硬盘镜像 VHDX 镜像文件由以下元素构成: file (type) identifier 2x image headers 2x region tables log or metadata journ

圣三一 2697

第一篇章:JVM与Java体系结构

从某些程度上来讲,Java虚拟机是比Java语言更成功的软件,这真正的让Java语言实现了一次编译,到处运行下图描述了JVM所处的位置,熟悉Java的小伙伴都知道,.java文件通过编译成,class文件,也就是我们所说的字节码文件,而JVM对字节码文件进行一些列的操作转换成各个操作系统所能看懂的汇编语言,从而执行命令。JVM是运行在操作系统上的,跟硬件没有直接的交互在面试中经常被问到JDK,JRE两者有什么区别如果单单想要运行Java程序,只需要安装JRE即可,而从事Java开发必须要安装JDK,JDK可

Yellow_Star的博客 549

【从零开始vnpy量化投资】十一. 实盘接入测试与正式实盘

本篇主要讲解如何使用vnpy进行实盘交易,由于上一节我们已经学习了模拟盘运行,如果一切顺利的话,只需要通过穿透测试,就可以正式部署实盘了。

魔落的博客 4231

[QMT和ptrade量化交易小白入门]-109、小市值选股的基础上用六脉神剑评分,回测年化可到132%

本专栏主要是介绍QMT和ptrade的基础用法,常见函数,写策略的方法,也会分享一些量化交易的思路,大概会写200篇左右。QMT的相关资料较少,在使用过程中不断的摸索,遇到了一些问题,记录下来和大家一起沟通,共同进步。

木头大左的博客 1863

【Maven】Unsupported major.minor version 52.0

项目是一个maven项目,springboot版本用的是2.3.12.RELEASE,jdk用的7的版本,在单元测试类中执行,报错。

ooooooooooooooxiaosu的博客 911

高速PCB设计中的一些常用规则

目前,高速PCB产品设计中,高速接口的应用日益普及,对于复杂的设计而言,高速走线就如同“蜘蛛网”一样密布在PCB各处,因此,在进行PCB检查及评审时,必要的高速PCB设计经验法则及规则是工程师开展工作必不可少的知识储备。

一只豌豆象的博客 3415

JVM 性能调优 -- JVM常用调优工具【jps、jstack、jmap、jstats 命令】

总结:本篇分享 JDK 自带的一些 JVM 调优工具的使用,使用 jps、jinfo、jmap、jstack、jhat、jstat 命令来查看 Java 应用程序的堆栈信息,来辅助我们进行 JVM 调优,关于可视化工具的部分我们下一篇再来分享,希望可以帮助到有需要的朋友们。可以看到执行 jinfo 命令打印了非常多的信息,包括 Java 版本、环境信息、JVM 参数等非常多的信息,这些信息并不是我们都要关注的,如果我们想要少看到一些信息,可以使用 jinfo -flags 线程pid 命令。

weixin_42118323的博客 2416

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

JVM虚拟机(七)JVM调优的工具

JVM虚拟机(七)JVM调优的工具

ACGkaka的博客 1632

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

jvm调优(工具篇)

jvm调优的监控工具、故障排查工具、可视化工具、jps、jstat、jinfo、jmap、jstack、jcmd、jhat 、jhsdb、jconsole、VisualVM、Java Mission Control

weixin_42351206的博客 3720

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

JVM调优

jps:查看正在运行的 Java 进程。jps -v查看进程启动时的JVM参数;jstat:查看指定进程的 JVM 统计信息。jstat -gc查看堆各分区大小、YGC,FGC次数和时长。如果服务器没有 GUI 图形界面,只提供了纯文本控制台环境,它是运行期定位虚拟机性能问题的首选工具。jinfo:实时查看和修改指定进程的 JVM 配置参数。jinfo -flag查看和修改具体参数。jstack: 打印指定进程此刻的线程快照。定位线程长时间停顿的原因,例如死锁、等待资源、阻塞。

weixin_44250247的博客 1953

springboot-jvm调优

JVM调优,使用jvisualvm,jconsole,jmap,jps等。

Java自学笔记-springBoot微服务 1976

【JVM调优】如何进行JVM调优?就这一篇就够

调用System.gc():调用 System.gc() (用于请求 JVM 执行垃圾回收)时,JVM 会建议执行 Full GC(具体是否执行取决于垃圾回收器实现的System.gc()逻辑,例如Parallel GC、CMS等传统垃圾回收器该方法会Full GC,而G1、ZGC等现代回收器不会Full GC)。如果这些值呈上涨趋势,则说明该 Java 程序的老年代内存已使用量在不断上涨,这意味着无法回收的对象在不断增加,因此很有可能存在内存泄漏(不再使用的对象仍然被引用,导致GC无法回收)。

Edward的博客 1449

关于JVM调优的工具及JVM 常见调优参数

六个命令行排查工具 我们一般使用 JDK 自带的 6 个命令行工具来排查JVM。它们分别是:jps、jstat、jinfo、jmap、jhat 和 jstack,它们都位于 JDK 的 bin 目录下,可以使用命令行工具直接运行。 jps(虚拟机进程状况工具) jps(JVM Process Status tool,虚拟机进程状况工具),用于列出正在运行的 JVM 的 LVMID(Local Virtual Machine IDentifier,本地虚拟机唯一 ID),以及 JVM 的执行主类、JVM 启动

Gebo的博客 1229

JVM调优,这几大调优工具千万得会!

S0C :幸存者0区容量 S1C :幸存者1区容量 S0U :幸存者0区已使用大小 S1U :幸存者1区已使用大小 EC :eden区容量 EU :eden区已使用大小 OC :老年代容量 OU :老年代已使用大小 MC :元数据空间容量 MU :元数据空间已使用大小 CCSC :压缩类空间容量 CCSU :压缩类空间已使用大小 YGC :年轻代GC次数 YGCT :年轻代GC耗时合计 FGC :整堆GC次数 FGCT :整堆GC耗时合计 GCT :所有GC耗时合计。表示查看的是垃圾收集状况。

mxt51220的博客 976

JVM调优之JVM自带性能调优工具

前言 JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat、hprof等小巧的工具,每一种工具都有其自身的特点,用户可以根据你需要检测的应用或者程序片段的状况,适当的选择相应的工具进行检测。接下来的两个专题分别会讲VisualVM的具体应用。 现实企业级Java开发中,有时候我们会碰到下面这些问题: OutOfMemoryError,内存不足 内存泄露 线程死锁 锁争用(Lock Contention)

qq_39093474的博客 2103

16. JVM调优工具

本文介绍了JVM性能监控与调优的常用工具,分为命令行工具和可视化工具两类。命令行工具包括:jps查看Java进程信息,jstack分析线程堆栈,jmap生成堆转储快照,jhat分析堆转储文件,jstat监控JVM统计信息。可视化工具主要有JConsole和VisualVM,前者提供基础监控功能,后者支持插件扩展和深度分析。文章详细说明了各工具的作用、常用选项和使用示例,并对比了不同工具的适用场景,为JVM性能问题诊断提供了实用指导。

weixin_73692078的博客 1144

深入解析JVM调优工具及其实战应用

深入解析JVM调优工具及其实战应用

m0_54258715的博客 1183

JVM系列六:JVM性能调优实战指南

JVM性能调优是Java开发者必须掌握的核心技能。本文将从实战角度出发,详细介绍性能调优工具的使用、常见问题的分析方法,以及真实的调优案例,帮助您快速提升JVM调优能力。

真实的菜的博客 934

常用 JVM 调优工具

点击下方关注我,然后右上角点击...“设为星标”,就能第一时间收到更新推送啦~~~JVM 日常调优总结起来就是:首先通过 jps 命令查看当前进程,然后根据 pid 通过 jinfo 命令查看和修改 jvm 参数,通过 jstat 命令查看 class 的加载信息以及 GC 信息,通过 jstack 命令查看线程堆栈信息,通过 jmap 命令查看堆内存信息。用以上的命令查看可以解决一些问题,但是对...

z123456789XDW的博客 2545
上一篇: Malformed argument has embedded quote: -Djava.endorsed.dirs=\“\“
下一篇: Windows如何杀掉进程?
小码匠和老码农
博客等级 码龄5年 113粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小码匠和老码农

喜欢作者

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值