如何解决Linux环境下使用jinfo命令和jmap命令时出现的异常

VMVersionMismatchException异常处理过程 VMVersionMismatchException异常处理过程解决方案:移除linux上所有安装的jdk,重装jdk以下记录发现问题和解决问题的过程:1. curl 调用接口,出现Failed connect to localhost:8084; Connection refused2. jps 查看pid 449953. jstack -l 44995jvm垃圾回收线程一直被占用4. jmap... 阅读详情

如何解决Linux环境下使用jinfo命令和jmap命令时出现的异常

异常描述:

最近在Deepin系统、openjdk-8环境下执行 jinfo 18310 和 jmap -heap 25151 查看jvm内部相关信息时出现异常。
异常信息如下:

david@UX501:~$ jinfo 18310
Attaching to process ID 18310, please wait...
Error attaching to process: java.lang.RuntimeException: can't determine target's VM version : field "_reserve_for_allocation_prefetch" not found in type Abstract_VM_Version
sun.jvm.hotspot.debugger.DebuggerException: java.lang.RuntimeException: can't determine target's VM version : field "_reserve_for_allocation_prefetch" not found in type Abstract_VM_Version
	at sun.jvm.hotspot.HotSpotAgent.setupVM(HotSpotAgent.java:435)
	at sun.jvm.hotspot.HotSpotAgent.go(HotSpotAgent.java:305)
	at sun.jvm.hotspot.HotSpotAgent.attach(HotSpotAgent.java:140)
	at sun.jvm.hotspot.tools.Tool.start(Tool.java:185)
	at sun.jvm.hotspot.tools.Tool.execute(Tool.java:118)
	at sun.jvm.hotspot.tools.JInfo.main(JInfo.java:138)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at sun.tools.jinfo.JInfo.runTool(JInfo.java:108)
	at sun.tools.jinfo.JInfo.main(JInfo.java:76)
Caused by: java.lang.RuntimeException: can't determine target's VM version : field "_reserve_for_allocation_prefetch" not found in type Abstract_VM_Version
	at sun.jvm.hotspot.runtime.VM.<init>(VM.java:291)
	at sun.jvm.hotspot.runtime.VM.initialize(VM.java:370)
	at sun.jvm.hotspot.HotSpotAgent.setupVM(HotSpotAgent.java:431)
	... 11 more
david@UX501:~$ jmap -heap 25151
Attaching to process ID 25151, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.212-b01

using thread-local object allocation.
Parallel GC with 8 thread(s)

Heap Configuration:
   MinHeapFreeRatio         = 0
   MaxHeapFreeRatio         = 100
   MaxHeapSize              = 20971520 (20.0MB)
   NewSize                  = 6815744 (6.5MB)
   MaxNewSize               = 6815744 (6.5MB)
   OldSize                  = 14155776 (13.5MB)
   NewRatio                 = 2
   SurvivorRatio            = 8
   MetaspaceSize            = 21807104 (20.796875MB)
   CompressedClassSpaceSize = 1073741824 (1024.0MB)
   MaxMetaspaceSize         = 17592186044415 MB
   G1HeapRegionSize         = 0 (0.0MB)

Heap Usage:
Exception in thread "main" java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at sun.tools.jmap.JMap.runTool(JMap.java:201)
	at sun.tools.jmap.JMap.main(JMap.java:130)
Caused by: java.lang.RuntimeException: unknown CollectedHeap type : class sun.jvm.hotspot.gc_interface.CollectedHeap
	at sun.jvm.hotspot.tools.HeapSummary.run(HeapSummary.java:144)
	at sun.jvm.hotspot.tools.Tool.startInternal(Tool.java:260)
	at sun.jvm.hotspot.tools.Tool.start(Tool.java:223)
	at sun.jvm.hotspot.tools.Tool.execute(Tool.java:118)
	at sun.jvm.hotspot.tools.HeapSummary.main(HeapSummary.java:49)
	... 6 more

可能原因:
  1. 缺少Debug相关的软件环境。
  2. Debug环境版本和JDK没有对应。
解决办法:
  1. 查看jdk版本:
david@UX501:~$ java -version
openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-8u212-b01-1~deb9u1-b01)
OpenJDK 64-Bit Server VM (build 25.212-b01, mixed mode)
  1. 安装对应的debug软件:
david@UX501:~$ sudo apt-get install openjdk-8-dbg
[sudo] david 的密码:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
下列【新】软件包将被安装:
  openjdk-8-dbg
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 113 个软件包未被升级。
需要下载 1,860 kB 的归档。
解压缩后会消耗 6,240 kB 的额外空间。
获取:1 https://community-packages.deepin.com/deepin apricot/main amd64 openjdk-8-dbg amd64 8u212-b01-1~deb9u1 [1,860 kB]
已下载 1,860 kB,耗时 9秒 (206 kB/s)                                                             
正在选中未选择的软件包 openjdk-8-dbg:amd64。
(正在读取数据库 ... 系统当前共安装有 209220 个文件和目录。)
准备解压 .../openjdk-8-dbg_8u212-b01-1~deb9u1_amd64.deb  ...
正在解压 openjdk-8-dbg:amd64 (8u212-b01-1~deb9u1) ...
正在设置 openjdk-8-dbg:amd64 (8u212-b01-1~deb9u1) ...
david@UX501:~$ 
  1. 重新执行命令进行测试,结果正常
david@UX501:~$ jinfo 25151
Attaching to process ID 25151, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.212-b01
Java System Properties:

java.runtime.name = OpenJDK Runtime Environment
java.vm.version = 25.212-b01
sun.boot.library.path = /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64
java.vendor.url = http://java.oracle.com/
java.vm.vendor = Oracle Corporation
path.separator = :
file.encoding.pkg = sun.io
java.vm.name = OpenJDK 64-Bit Server VM
sun.os.patch.level = unknown
sun.java.launcher = SUN_STANDARD
user.country = CN
user.dir = /home/david/IdeaProjects/untitled
java.vm.specification.name = Java Virtual Machine Specification
java.runtime.version = 1.8.0_212-8u212-b01-1~deb9u1-b01
java.awt.graphicsenv = sun.awt.X11GraphicsEnvironment
os.arch = amd64
java.endorsed.dirs = /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/endorsed
java.io.tmpdir = /tmp
line.separator = 

java.vm.specification.vendor = Oracle Corporation
os.name = Linux
sun.jnu.encoding = UTF-8
java.library.path = /usr/java/packages/lib/amd64:/usr/lib/x86_64-linux-gnu/jni:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/jni:/lib:/usr/lib
java.specification.name = Java Platform API Specification
java.class.version = 52.0
sun.management.compiler = HotSpot 64-Bit Tiered Compilers
os.version = 5.3.0-3-amd64
user.home = /home/david
user.timezone = GMT+08:00
java.awt.printerjob = sun.print.PSPrinterJob
file.encoding = UTF-8
java.specification.version = 1.8
user.name = david
java.class.path = /usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/charsets.jar:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/ext/cldrdata.jar:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/ext/dnsns.jar:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/ext/icedtea-sound.jar:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/ext/jaccess.jar:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/ext/java-atk-wrapper.jar:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/ext/localedata.jar:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/ext/nashorn.jar:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/ext/sunec.jar:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/ext/sunjce_provider.jar:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/ext/sunpkcs11.jar:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/ext/zipfs.jar:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/jce.jar:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/jsse.jar:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/management-agent.jar:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/resources.jar:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/rt.jar:/home/david/IdeaProjects/untitled/out/production/untitled:/home/david/SoftWare/IDEA/lib/idea_rt.jar
java.vm.specification.version = 1.8
sun.arch.data.model = 64
sun.java.command = Test arg1
java.home = /usr/lib/jvm/java-8-openjdk-amd64/jre
user.language = zh
java.specification.vendor = Oracle Corporation
awt.toolkit = sun.awt.X11.XToolkit
java.vm.info = mixed mode
java.version = 1.8.0_212
java.ext.dirs = /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext:/usr/java/packages/lib/ext
sun.boot.class.path = /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/resources.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/rt.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/sunrsasign.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/jsse.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/jce.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/charsets.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/jfr.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/classes
java.vendor = Oracle Corporation
file.separator = /
java.vendor.url.bug = http://bugreport.sun.com/bugreport/
sun.io.unicode.encoding = UnicodeLittle
sun.cpu.endian = little
sun.desktop = gnome
sun.cpu.isalist = 

VM Flags:
Non-default VM flags: -XX:CICompilerCount=4 -XX:InitialHeapSize=20971520 -XX:MaxHeapSize=20971520 -XX:MaxNewSize=6815744 -XX:MinHeapDeltaBytes=524288 -XX:NewSize=6815744 -XX:OldSize=14155776 -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseParallelGC 
Command line:  -Xms20M -Xmx20M -javaagent:/home/david/SoftWare/IDEA/lib/idea_rt.jar=40987:/home/david/SoftWare/IDEA/bin -Dfile.encoding=UTF-8

david@UX501:~$ 

david@UX501:~$ jmap -heap 25151
Attaching to process ID 25151, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.212-b01

using thread-local object allocation.
Parallel GC with 8 thread(s)

Heap Configuration:
   MinHeapFreeRatio         = 0
   MaxHeapFreeRatio         = 100
   MaxHeapSize              = 20971520 (20.0MB)
   NewSize                  = 6815744 (6.5MB)
   MaxNewSize               = 6815744 (6.5MB)
   OldSize                  = 14155776 (13.5MB)
   NewRatio                 = 2
   SurvivorRatio            = 8
   MetaspaceSize            = 21807104 (20.796875MB)
   CompressedClassSpaceSize = 1073741824 (1024.0MB)
   MaxMetaspaceSize         = 17592186044415 MB
   G1HeapRegionSize         = 0 (0.0MB)

Heap Usage:
PS Young Generation
Eden Space:
   capacity = 5767168 (5.5MB)
   used     = 2491096 (2.3756942749023438MB)
   free     = 3276072 (3.1243057250976562MB)
   43.1944413618608% used
From Space:
   capacity = 524288 (0.5MB)
   used     = 491552 (0.468780517578125MB)
   free     = 32736 (0.031219482421875MB)
   93.756103515625% used
To Space:
   capacity = 524288 (0.5MB)
   used     = 0 (0.0MB)
   free     = 524288 (0.5MB)
   0.0% used
PS Old Generation
   capacity = 14155776 (13.5MB)
   used     = 6099008 (5.81646728515625MB)
   free     = 8056768 (7.68353271484375MB)
   43.08494285300926% used

2212 interned Strings occupying 156000 bytes.
david@UX501:~$ 
  1. 为了搞清楚问题是否确实是因为缺少debug环境所致,将刚才安装的openjdk-8-dbg移除,重新进行测试,结果异常又出现了,说明猜想确实没错。(也可能是debug环境版本没有对应)
david@UX501:~$ sudo apt-get remove openjdk-8-dbg 
[sudo] david 的密码:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
下列软件包将被【卸载】:
  openjdk-8-dbg
升级了 0 个软件包,新安装了 0 个软件包,要卸载 1 个软件包,有 113 个软件包未被升级。
解压缩后将会空出 6,240 kB 的空间。
您希望继续执行吗? [Y/n] y
(正在读取数据库 ... 系统当前共安装有 209388 个文件和目录。)
正在卸载 openjdk-8-dbg:amd64 (8u212-b01-1~deb9u1) ...
david@UX501:~$ jinfo 25151
Attaching to process ID 25151, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.212-b01
Java System Properties:

Exception in thread "main" java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at sun.tools.jinfo.JInfo.runTool(JInfo.java:108)
	at sun.tools.jinfo.JInfo.main(JInfo.java:76)
Caused by: java.lang.InternalError: Metadata does not appear to be polymorphic
	at sun.jvm.hotspot.types.basic.BasicTypeDataBase.findDynamicTypeForAddress(BasicTypeDataBase.java:278)
	at sun.jvm.hotspot.runtime.VirtualBaseConstructor.instantiateWrapperFor(VirtualBaseConstructor.java:102)
	at sun.jvm.hotspot.oops.Metadata.instantiateWrapperFor(Metadata.java:68)
	at sun.jvm.hotspot.memory.SystemDictionary.getSystemKlass(SystemDictionary.java:127)
	at sun.jvm.hotspot.runtime.VM.readSystemProperties(VM.java:879)
	at sun.jvm.hotspot.runtime.VM.getSystemProperties(VM.java:873)
	at sun.jvm.hotspot.tools.SysPropsDumper.run(SysPropsDumper.java:44)
	at sun.jvm.hotspot.tools.JInfo$1.run(JInfo.java:79)
	at sun.jvm.hotspot.tools.JInfo.run(JInfo.java:94)
	at sun.jvm.hotspot.tools.Tool.startInternal(Tool.java:260)
	at sun.jvm.hotspot.tools.Tool.start(Tool.java:223)
	at sun.jvm.hotspot.tools.Tool.execute(Tool.java:118)
	at sun.jvm.hotspot.tools.JInfo.main(JInfo.java:138)
	... 6 more
david@UX501:~$
如果使用的是CentOS,则可以用类似的方法解决
  1. 同样先查看jdk版本
  2. 到这里下载对应安装包或直接安装对应版本的软件包。
    在这里插入图片描述
sudo debuginfo-install java-1.8.0-openjdk
或者
sudo yum install java-1.8.0-openjdk-debuginfo.x86_64

- 未经授权,禁止转载

Linux命令-查看内存、GC情况及jmap 用法 命令jmap是一个多功能的命令。它可以生成 java 程序的 dump 文件, 也可以查看堆内对象示例的统计信息、查看 ClassLoader 的信息以及 finalizer 队列。选项参数。需要打印配置信息的进程ID。产生核心dump的Java可执行文件。需要打印配置信息的核心文件。server-id可选的唯一id,如果相同的远程主机上运行了多台调试服务器,用此选项参数标识服务器。远程调试服务器的IP地址或主机名。option查看进程的内存映像信息,类似 Solaris pmap 命令。 阅读详情

相关推荐

JVM工具:使用 jmap 打印 Java 堆信息时报错:Can't attach symbolicator to the process

一、问题描述 1、环境描述。 操作系统:Mac 10.14.6 JDK版本:1.8.0_241 2、Java 代码。 在 Idea 中执行以下代码:代码的逻辑是向 list 中添加 1000 条数据,之后 sleep 1000 秒。 package org.learn.jmap; import java.util.ArrayList; import java.util.List; /** *...

天将降大任于是人 9547

linux jmap命令详解,jmap命令 linux jmap如何使用

1, linux jmap如何使用jmap命令可以获得运行中的jvm的堆的快照,从而可以离线分析堆,以检查内存泄漏,检查一些严重影响性能的大对象的创建,检查系统中什么对象最多,各种对象所占内存的大小。命令格式:jmap [options] pid-dump:[live,]format=b,file=--dump堆到文件,live指明是活着的对象,file指定文件名-finalizerinfo 打印...

weixin_32148341的博客 4749

Intel AX系列网卡5G热点开启失败?Linux下3种修复方案实测(含Ubuntu/OpenWRT)

本文针对Intel AX系列网卡在Linux系统下无法开启5G热点的常见问题,深入剖析了其根源在于内核LAR机制与驱动的兼容性。文章提供了三种实测有效的修复方案:针对内核低于5.5的模块参数法、适用于高内核版本的hostapd补丁编译法以及高阶的驱动修改法,帮助用户在Ubuntu、OpenWRT等环境中成功启用5G热点功能。

weixin_29291863的博客 734

can‘t determine target‘s VM version 问题解决方法

使用jmap时,遇到报错can't determine target's VM version,形成原因及解决方法

merryghoet的博客 1649

光学仿真案例(4) 基于纳米微粒激发平面波的米氏散射FDTD仿真模拟

本案例展示了一个基于纳米粒子激发平面波的米氏散射仿真模型(mie scattering),计算其散射和吸收截面、局域场增强和远场散射分布,同时将截面和远场结果与解析解进行了比较,验证了仿真模拟的准确性。

q895235273的博客 3593

RTL8306MB交换芯片驱动开发避坑指南:从硬件接线到SDK移植全流程解析

本文详细解析了RTL8306MB交换芯片驱动开发的全流程,重点从硬件接线、SDK移植到实战调试。针对RMII模式下的常见问题,特别是TXEN与RXDV信号交叉连接等关键“坑点”,提供了清晰的排查指南和解决方案,旨在帮助嵌入式工程师高效完成网络设备开发。

277

java jmap instances_java线上问题排查思路及Linux常用问题分析命令学习

java线上问题排查思路及Linux常用问题分析命令学习java线上问题排查思路及Linux常用问题分析命令学习之前线上有过一两次OOM的问题,但是每次定位问题都有点手足无措的感觉,刚好利用星期天,以测试环境为模版来学习一下Linux常用的几个排查问题的命令。也可以帮助自己在以后的工作中快速的排查线上问题。jmap命令jmap -heap pid 输出当前进程 JVM 堆新生代、老年代、持久代等请...

weixin_32736961的博客 403

告别CPU空转!用STC8的SPI+DMA高效驱动上百颗WS2812B灯珠

本文详细解析了如何利用STC8单片机的SPI+DMA外设高效驱动WS2812B全彩灯珠,解决传统软件延时驱动方式在长灯带应用中的性能瓶颈。通过硬件方案设计、数据格式转换和DMA传输配置,实现高达400Hz的刷新率和低于5%的CPU占用率,适用于大规模灯光项目。

weixin_30847939的博客 396

java 问题排查_Java线上问题排查思路及Linux常用问题分析命令学习

前言之前线上有过一两次OOM的问题,但是每次定位问题都有点手足无措的感觉,刚好利用星期天,以测试环境为模版来学习一下Linux常用的几个排查问题的命令。也可以帮助自己在以后的工作中快速的排查线上问题。jmap命令jmap -heap pid 输出当前进程 JVM 堆新生代、老年代、持久代等请情况,GC 使用的算法等信息jmap -histo:live {pid} | head -n 10 输出当前...

weixin_36299482的博客 191

GPU 运维实战:H100/H800/B300 换卡与压测

(烧多久、看什么、什么算合格)。文末还给了一个能直接跑的验收判定脚本,三个真实场景的裁决输出都在。

老韩的Linux云计算架构师进阶之路 271

手把手教你学Simulink——基于Simulink的重复控制抑制周期性负载转矩扰动

传统的PI调节器在面对这类特定频率的周期性扰动时,会因积分器的相位滞后而导致转速出现明显的纹波(如6次、12次谐波),严重影响系统的控制精度和静音性能。:要在频率 fd​处获得较高的开环增益以抑制扰动,必须大幅增加PI的比例系数 Kp​,但这会牺牲系统的相位裕度,导致高频共振甚至系统失稳;:电机转速变化时,基频 fbase​会变,导致 6次谐波频率 6×fbase​也在变。设系统的采样周期为 Ts​,目标抑制的周期性扰动频率为 fd​(rad/s),则对应的周期采样点数 N=fd​Ts​2π​。

MHD0815的博客 256

java线上问题排查思路及Linux常用问题分析命令学习

之前线上有过一两次OOM的问题,但是每次定位问题都有点手足无措的感觉,刚好利用星期天,以测试环境为模版来学习一下Linux常用的几个排查问题的命令。 也可以帮助自己在以后的工作中快速的排查线上问题。 jmap命令 jmap -heap pid 输出当前进程 JVM 堆新生代、老年代、持久代等请情况,GC 使用的算法等信息 jmap -histo:live {pid} | head -n 1...

很多时候犯错都是在不知情的情况下发生的 271

无线充电Qi协议正向通信FSK的解调设计

常见的FSK解调方法是使用频率锁相环(PLL)来跟踪输入信号中的频率变化。PLL根据输入信号的频率变化来生成数字信号,从而实现FSK信号的解调。本文将详细介绍无线充电Qi协议正向通信FSK的解调设计,并提供相应的源代码。在上述示例代码中,我们首先定义了FSK解调的参数,包括采样率、载波频率、每个比特的持续时间和比特判定阈值。最后,通过比较滤波后的信号与比特判定阈值,我们将解调后的数字数据转换为0和1的序列。请注意,上述代码仅为示例,实际的解调设计可能需要根据具体的应用场景和系统要求进行调整和优化。

IunScala的博客 2444

jdk监控和故障处理工具

主要jdk诊断命令 jps (JVM Process Status): 类似 UNIX 的 ps 命令。用户查看所有 Java 进程的启动类、传入参数和 Java 虚拟机参数等信息; jstat( JVM Statistics Monitoring Tool): 用于收集 HotSpot 虚拟机各方面的运行数据; jinfo (Configuration Info for Java) : Conf...

希望我的博客,能解决你工作中的问题 6390

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

CPU 飙到 100%,先别急着翻代码

CPU飙高别急着翻代码,应遵循“定位→推理→看代码”四步法:先用top找进程,再用top -Hp定位最忙线程,将线程ID转十六进制,最后用jstack查栈。警惕三大坑:误判GC为业务问题、单次快照不准确、线上随意执行jmap引发停顿。建议结合jstat分析GC,多次采样验证,优先使用Arthas等工具并提前部署。排查后完善SOP与监控告警,提升线上稳定性。

鲜衣怒马楼兰月 2237

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Linux 查看进程堆栈信息异常解决方法

/proc/sys/kernel/yama/ptrace_scope

weixin_43311453的博客 1674

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

JVM调优命令和常见工具

列出当前系统中运行的jvm程序。 -m:输出主函数传入的参数,-l:输出应用程序主类完整包名,-v:列出jvm参数。监控jvm各种运行状态,可以显示jvm的内存使用情况、jit、类加载的各种运行情况。 显示JIT即时编译的情况。 显示堆的状态。 显示堆区的各个分代情况。查看和修改jvm的参数 显示jvm的参数。可以用来查看和导出jvm的内存运行情况以及内存中实例的占比情况。...

Minor的Java技术博客 458

jattach 完整指南:3 步让运行中的 JVM 进程听你指挥

想给正在运行的 JVM 进程发一条命令——抓线程栈、挂 Java 代理、看系统属性,jattach 通过 JVM 动态附加一条通道全办了。环境里只有 JRE 也能跑,不需要装 JDK。本指南带你完成 jattach 安装和第一次使用。 ## 这个工具解决的痛 凌晨三点,Java 服务行为异常,你急着要看线程栈,可容器里只装了 JRE。没有 jstack,没有 jcmd,没有 jmap,手里只有

gitblog_00623的博客 1025

JVM(四)排查工具使用

1.虚拟机工具的意义以及JPS讲解 虚拟机工具的意义 给一个系统定位问题的时候,知识、经验是关键基础,数据是依据,工具是运用知识处理数据的手段 数据包括:运行日志、异常堆栈、GC 日志、线程快照( threaddump/javacore文件)、堆转储快照( heapdump/hprof文件)等。使用适当的虚拟机监控和分析的工具可以加快我们分析数据、定位解决问题的速度 ps -ef|grep...

林木森的博客 304

Linux排查JVM问题

通常来说当我们的Java服务出现问题时,首先需要考虑的是这个进程是不是还在运行,然后再关注这个进程所占用的资源多少,CPU、内存的使用情况,从而定位到具体问题。因此,有必要对Linux服务器中的JVM异常排查进行下记录。 方法 1、查找Java进程id ps -ef | grep java jps 2、top查找java进程 top -c #参数c表示列出命令的详细信息 top -Hp pid#其中参数H表示...

sam19911的博客 366

JVM内存监控工具用法之指导手册

内存监控工具的使用是否熟悉,这里向大家简单介绍一下,VisualVM囊括的命令行工具包括jps,jstat,jmap,jinfo,jstack,JConsole,这些工具与JDK的标准版本是一致的,它能为您提供强大的分析能力,实现JVM内存监控。这里向大家描述一下JVM内存监控工具的用法,VisualVM是一种集成了多个JDK命令行工具的可视化工具,它能为您提供强大的分析能力,另外它囊括的命令行工具包括jps,jstat,jmap,jinfo,jstack,JConsole等。以下详细介绍各个参数的意义。

怀揣梦想,一颗执着于技术的心从未磨灭,内心住着一颗顽强的小强时刻提醒自己层层突破自我,同时也成就他人 1232

linux打印jvm内存堆栈_Java进程在Linux生产环境下的问题分析和解决大全

有了监控,当某个java服务不正常的时候就会报警,这样就实现了有问题提前感知。1.编写脚本文件名为:checkJavaCpu.sh内容:#!/bin/shShellAbsPath=$(cd "$(dirname "$0")"; pwd)function checkCpu(){ID=$1pid=`ps aux|grep "dubbo${ID}"|grep -v "grep"|awk '{print ...

weixin_39996096的博客 544

Java线上问题排查思路及Linux常用问题分析命令学习

前言 之前线上有过一两次OOM的问题,但是每次定位问题都有点手足无措的感觉,刚好利用星期天,以测试环境为模版来学习一下Linux常用的几个排查问题的命令。 也可以帮助自己在以后的工作中快速的排查线上问题。 jmap命令 jmap -heap pid 输出当前进程 JVM 堆新生代、老年代、持久代等请情况,GC 使用的算法等信息 jmap -histo:live {pid} | he...

weixin_30470643的博客 138

java开发linux常用命令

文章目录前言1.高手怎样定位CPU高问题1.1找到Cpu消耗比较高的进程:1.2通过问题进程找到线程:1.3通过线程id进行打印问题代码:1.4通过上面步骤的异常代码查询定位代码:1.5总结:2.其他的定位问题的命令:2.1 jps和jmap2.2 jinfo命令:2.3 jstat命令:2.4 jstack命令:3总结 前言 现在我们部署jar包服务都是在linux上面,仅仅是代码写的好还不行,我们还要能够进行排查问题,利用一些常用的linux命令来分析运行日志、异常堆栈信息、堆使用、GC信息、JVM参数

u010720120的博客 412
上一篇: JVM调优小工具之jstat
下一篇: JVM调优小工具之jinfo
小菜大白
博客等级 码龄10年 4粉丝 12原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值