JVM工具

常见的服务CPU过高Arthas快速排查问题详细笔记 阅读详情
  • jps -v
展示启动参数,进程ID
  • jinfo [选项] pid     虚拟机的一些参数、配置
    java.runtime.name = Java(TM) SE Runtime Environment
    java.vm.version = 25.65-b01
    sun.boot.library.path = /opt/jdk1.8.0_65/jre/lib/amd64
    java.protocol.handler.pkgs = org.springframework.boot.loader
    java.vendor.url = http://java.oracle.com/
    java.vm.vendor = Oracle Corporation
    path.separator = :
    file.encoding.pkg = sun.io
    java.vm.name = Java HotSpot(TM) 64-Bit Server VM
    sun.os.patch.level = unknown
    sun.java.launcher = SUN_STANDARD
    user.country = US
    user.dir = /home/test
    java.vm.specification.name = Java Virtual Machine Specification
    PID = 2261
    java.runtime.version = 1.8.0_65-b17
    java.awt.graphicsenv = sun.awt.X11GraphicsEnvironment
    os.arch = amd64
    java.endorsed.dirs = /opt/jdk1.8.0_65/jre/lib/endorsed
    line.separator = 
    
    java.io.tmpdir = /tmp
    java.vm.specification.vendor = Oracle Corporation
    os.name = Linux
    sun.jnu.encoding = UTF-8
    java.library.path = /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
    spring.beaninfo.ignore = true
    java.specification.name = Java Platform API Specification
    java.class.version = 52.0
    sun.management.compiler = HotSpot 64-Bit Tiered Compilers
    os.version = 2.6.32-431.el6.x86_64
    user.home = /root
    user.timezone = Asia/Shanghai
    catalina.useNaming = false
    java.awt.printerjob = sun.print.PSPrinterJob
    file.encoding = UTF-8
    @appId = application
    java.specification.version = 1.8
    catalina.home = /tmp/tomcat.5444686089455506209.1111
    user.name = root
    java.class.path = boot.test-1.0-SNAPSHOT.jar
    java.vm.specification.version = 1.8
    sun.arch.data.model = 64
    sun.java.command = boot.test-1.0-SNAPSHOT.jar --spring.profiles.active=peer2
    java.home = /opt/jdk1.8.0_65/jre
    user.language = en
    java.specification.vendor = Oracle Corporation
    awt.toolkit = sun.awt.X11.XToolkit
    java.vm.info = mixed mode
    java.version = 1.8.0_65
    java.ext.dirs = /opt/jdk1.8.0_65/jre/lib/ext:/usr/java/packages/lib/ext
    sun.boot.class.path = /opt/jdk1.8.0_65/jre/lib/resources.jar:/opt/jdk1.8.0_65/jre/lib/rt.jar:/opt/jdk1.8.0_65/jre/lib/sunrsasign.jar:/opt/jdk1.8.0_65/jre/lib/jsse.jar:/opt/jdk1.8.0_65/jre/lib/jce.jar:/opt/jdk1.8.0_65/jre/lib/charsets.jar:/opt/jdk1.8.0_65/jre/lib/jfr.jar:/opt/jdk1.8.0_65/jre/classes
    java.awt.headless = true
    java.vendor = Oracle Corporation
    catalina.base = /tmp/tomcat.5444686089455506209.1111
    file.separator = /
    java.vendor.url.bug = http://bugreport.sun.com/bugreport/
    sun.io.unicode.encoding = UnicodeLittle
    sun.cpu.endian = little
    sun.cpu.isalist = 
    
    VM Flags:
    Non-default VM flags: -XX:CICompilerCount=4 -XX:InitialHeapSize=130023424 -XX:MaxHeapSize=2059403264 -XX:MaxNewSize=686292992 -XX:MinHeapDeltaBytes=524288 -XX:NewSize=42991616 -XX:OldSize=87031808 -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseFastUnorderedTimeStamps -XX:+UseParallelGC 
    Command line:

     

  • jmap -dump:[live,]format=b,file=<filename>  打印堆栈信息        堆栈信息可以使用jhat  mat 等工具查看
    jhat -J-Xmx8192m heapdump.06180803
    
     http://localhost:7000/histo/

     

  • jmap -heap pid  查看堆使用和分配情况汇总
    Heap Configuration:
       MinHeapFreeRatio         = 0
       MaxHeapFreeRatio         = 100
       MaxHeapSize              = 2059403264 (1964.0MB)
       NewSize                  = 42991616 (41.0MB)
       MaxNewSize               = 686292992 (654.5MB)
       OldSize                  = 87031808 (83.0MB)
       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 = 494927872 (472.0MB)
       used     = 451974752 (431.0367126464844MB)
       free     = 42953120 (40.963287353515625MB)
       91.32133742510263% used
    From Space:
       capacity = 2097152 (2.0MB)
       used     = 1884176 (1.7968902587890625MB)
       free     = 212976 (0.2031097412109375MB)
       89.84451293945312% used
    To Space:
       capacity = 17301504 (16.5MB)
       used     = 0 (0.0MB)
       free     = 17301504 (16.5MB)
       0.0% used
    PS Old Generation
       capacity = 118489088 (113.0MB)
       used     = 48557704 (46.30823516845703MB)
       free     = 69931384 (66.69176483154297MB)
       40.98073908713012% used
    

     

  • jstack  pid   打印堆栈代码信息
    "Eureka-DeltaRetentionTimer" #25 daemon prio=5 os_prio=0 tid=0x00007fe365015800 nid=0x8f8 in Object.wait() [0x00007fe3339fe000]
       java.lang.Thread.State: TIMED_WAITING (on object monitor)
    	at java.lang.Object.wait(Native Method)
    	at java.util.TimerThread.mainLoop(Timer.java:552)
    	- locked <0x0000000087a9c998> (a java.util.TaskQueue)
    	at java.util.TimerThread.run(Timer.java:505)
    
    "container-0" #24 prio=5 os_prio=0 tid=0x00007fe364f49000 nid=0x8f7 waiting on condition [0x00007fe3381ba000]
       java.lang.Thread.State: TIMED_WAITING (sleeping)
    	at java.lang.Thread.sleep(Native Method)
    	at org.apache.catalina.core.StandardServer.await(StandardServer.java:427)
    	at org.springframework.boot.web.embedded.tomcat.TomcatWebServer$1.run(TomcatWebServer.java:181)
    
    "ContainerBackgroundProcessor[StandardEngine[Tomcat]]" #23 daemon prio=5 os_prio=0 tid=0x00007fe365892000 nid=0x8f6 waiting on condition [0x00007fe3382bb000]
       java.lang.Thread.State: TIMED_WAITING (sleeping)
    	at java.lang.Thread.sleep(Native Method)
    	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1355)
    	at java.lang.Thread.run(Thread.java:745)
    
    "SimplePauseDetectorThread_0" #22 daemon prio=9 os_prio=0 tid=0x00007fe2f40be800 nid=0x8f5 waiting on condition [0x00007fe3385bc000]
       java.lang.Thread.State: TIMED_WAITING (sleeping)
    	at java.lang.Thread.sleep(Native Method)
    	at java.lang.Thread.sleep(Thread.java:340)
    	at java.util.concurrent.TimeUnit.sleep(TimeUnit.java:386)
    	at org.LatencyUtils.TimeServices.sleepNanos(TimeServices.java:62)
    	at org.LatencyUtils.SimplePauseDetector$SimplePauseDetectorThread.run(SimplePauseDetector.java:116)
    
    "Thread-5" #21 daemon prio=9 os_prio=0 tid=0x00007fe2f40b0800 nid=0x8f4 waiting on condition [0x00007fe338e46000]
       java.lang.Thread.State: WAITING (parking)
    	at sun.misc.Unsafe.park(Native Method)
    	- parking to wait for  <0x00000000870a6980> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
    	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
    	at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    	at org.LatencyUtils.PauseDetector$PauseDetectorThread.run(PauseDetector.java:85)
    
    "lettuce-eventExecutorLoop-1-1" #20 daemon prio=5 os_prio=0 tid=0x00007fe2e3178800 nid=0x8f3 waiting on condition [0x00007fe3393e5000]
       java.lang.Thread.State: TIMED_WAITING (parking)
    	at sun.misc.Unsafe.park(Native Method)
    	- parking to wait for  <0x00000000869e9e30> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
    	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
    	at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467)
    	at io.netty.util.concurrent.SingleThreadEventExecutor.takeTask(SingleThreadEventExecutor.java:251)
    	at io.netty.util.concurrent.DefaultEventExecutor.run(DefaultEventExecutor.java:64)
    	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:886)
    	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    	at java.lang.Thread.run(Thread.java:745)
    
    "spring.cloud.inetutils" #18 daemon prio=5 os_prio=0 tid=0x00007fe2e21bb800 nid=0x8f2 waiting on condition [0x00007fe339cea000]
       java.lang.Thread.State: WAITING (parking)
    	at sun.misc.Unsafe.park(Native Method)
    	- parking to wait for  <0x00000000869cf690> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
    	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
    	at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    	at java.lang.Thread.run(Thread.java:745)
    
    "Abandoned connection cleanup thread" #17 daemon prio=5 os_prio=0 tid=0x00007fe2e1efb000 nid=0x8f1 in Object.wait() [0x00007fe33aabc000]
       java.lang.Thread.State: TIMED_WAITING (on object monitor)
    	at java.lang.Object.wait(Native Method)
    	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
    	- locked <0x0000000086aa44c8> (a java.lang.ref.ReferenceQueue$Lock)
    	at com.mysql.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:64)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    	at java.lang.Thread.run(Thread.java:745)
    
    "Service Thread" #9 daemon prio=9 os_prio=0 tid=0x00007fe36421b000 nid=0x8e7 runnable [0x0000000000000000]
       java.lang.Thread.State: RUNNABLE
    
    "C1 CompilerThread3" #8 daemon prio=9 os_prio=0 tid=0x00007fe36420d800 nid=0x8e6 waiting on condition [0x0000000000000000]
       java.lang.Thread.State: RUNNABLE
    
    "C2 CompilerThread2" #7 daemon prio=9 os_prio=0 tid=0x00007fe36420b800 nid=0x8e5 waiting on condition [0x0000000000000000]
       java.lang.Thread.State: RUNNABLE
    
    "C2 CompilerThread1" #6 daemon prio=9 os_prio=0 tid=0x00007fe364209800 nid=0x8e4 waiting on condition [0x0000000000000000]
       java.lang.Thread.State: RUNNABLE
    
    "C2 CompilerThread0" #5 daemon prio=9 os_prio=0 tid=0x00007fe364206800 nid=0x8e3 waiting on condition [0x0000000000000000]
       java.lang.Thread.State: RUNNABLE
    
    "Signal Dispatcher" #4 daemon prio=9 os_prio=0 tid=0x00007fe364205000 nid=0x8e2 runnable [0x0000000000000000]
       java.lang.Thread.State: RUNNABLE
    
    "Finalizer" #3 daemon prio=8 os_prio=0 tid=0x00007fe3641cd000 nid=0x8e1 in Object.wait() [0x00007fe35094b000]
       java.lang.Thread.State: WAITING (on object monitor)
    	at java.lang.Object.wait(Native Method)
    	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
    	- locked <0x00000000854169d8> (a java.lang.ref.ReferenceQueue$Lock)
    	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
    	at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209)
    
    "Reference Handler" #2 daemon prio=10 os_prio=0 tid=0x00007fe3641cb000 nid=0x8e0 in Object.wait() [0x00007fe350a4c000]
       java.lang.Thread.State: WAITING (on object monitor)
    	at java.lang.Object.wait(Native Method)
    	at java.lang.Object.wait(Object.java:502)
    	at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:157)
    	- locked <0x0000000085416a18> (a java.lang.ref.Reference$Lock)
    

     

  • jstat -gcutil  pid   打印gc  次数,耗时等信息汇总
       S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT   
      0.00  89.84  91.36  40.98  96.16  94.07     25    0.522     3    0.508    1.030
      0.00  89.84  91.36  40.98  96.16  94.07     25    0.522     3    0.508    1.030
      0.00  89.84  91.36  40.98  96.16  94.07     25    0.522     3    0.508    1.030
      0.00  89.84  91.36  40.98  96.16  94.07     25    0.522     3    0.508    1.030
      0.00  89.84  91.36  40.98  96.16  94.07     25    0.522     3    0.508    1.030
      0.00  89.84  91.36  40.98  96.16  94.07     25    0.522     3    0.508    1.030
      0.00  89.84  91.36  40.98  96.16  94.07     25    0.522     3    0.508    1.030

     

  • jstat -gccapacity  
    jstat -gccapacity 8419 1000
     NGCMN    NGCMX     NGC     S0C   S1C       EC      OGCMN      OGCMX       OGC         OC           MCMN     MCMX      MC     CCSMN    CCSMX     CCSC    YGC    FGC 
     41984.0 670208.0 535552.0 14848.0 15360.0 480256.0    84992.0  1340928.0   116736.0   116736.0      0.0 1099776.0  59160.0      0.0 1048576.0   8112.0     14     3
     41984.0 670208.0 535552.0 14848.0 15360.0 480256.0    84992.0  1340928.0   116736.0   116736.0      0.0 1099776.0  59160.0      0.0 1048576.0   8112.0     14     3
     41984.0 670208.0 535552.0 14848.0 15360.0 480256.0    84992.0  1340928.0   116736.0   116736.0      0.0 1099776.0  59160.0      0.0 1048576.0   8112.0     14     3
     41984.0 670208.0 535552.0 14848.0 15360.0 480256.0    84992.0  1340928.0   116736.0   116736.0      0.0 1099776.0  59160.0      0.0 1048576.0   8112.0     14     3
     41984.0 670208.0 535552.0 14848.0 15360.0 480256.0    84992.0  1340928.0   116736.0   116736.0      0.0 1099776.0  59160.0      0.0 1048576.0   8112.0     14     3
     41984.0 670208.0 535552.0 14848.0 15360.0 480256.0    84992.0  1340928.0   116736.0   116736.0      0.0 1099776.0  59160.0      0.0 1048576.0   8112.0     14     3
     41984.0 670208.0 535552.0 14848.0 15360.0 480256.0    84992.0  1340928.0   116736.0   116736.0      0.0 1099776.0  59160.0      0.0 1048576.0   8112.0     14     3
     41984.0 670208.0 535552.0 14848.0 15360.0 480256.0    84992.0  1340928.0   116736.0   116736.0      0.0 1099776.0  59160.0      0.0 1048576.0   8112.0     14     3
     41984.0 670208.0 535552.0 14848.0 15360.0 480256.0    84992.0  1340928.0   116736.0   116736.0      0.0 1099776.0  59160.0      0.0 1048576.0   8112.0     14     3

     

  • jstat -gc
     S0C    S1C    S0U    S1U      EC       EU        OC         OU       MC     MU    CCSC   CCSU   YGC     YGCT    FGC    FGCT     GCT   
    14848.0 15360.0  0.0    0.0   480256.0 456800.9  116736.0   38351.7   59160.0 56807.9 8112.0 7611.7     14    0.257   3      0.338    0.595
    14848.0 15360.0  0.0    0.0   480256.0 456800.9  116736.0   38351.7   59160.0 56807.9 8112.0 7611.7     14    0.257   3      0.338    0.595
    14848.0 15360.0  0.0    0.0   480256.0 456800.9  116736.0   38351.7   59160.0 56807.9 8112.0 7611.7     14    0.257   3      0.338    0.595
    14848.0 15360.0  0.0    0.0   480256.0 456800.9  116736.0   38351.7   59160.0 56807.9 8112.0 7611.7     14    0.257   3      0.338    0.595

     

  • jmap -histo 23334 | head -20
     num     #instances         #bytes  class name
    ----------------------------------------------
       1:        152829       14760360  [C
       2:          8213       10938736  [I
       3:        232270        7432640  java.util.concurrent.locks.AbstractQueuedSynchronizer$Node
       4:          7166        4934032  [B
       5:        147563        4722016  java.util.HashMap$Node
       6:           720        4397432  [J
       7:        149411        3585864  java.lang.String
       8:         48046        3515664  [Ljava.lang.Object;
       9:         30158        2653904  java.lang.reflect.Method
      10:         67788        2169216  java.util.concurrent.ConcurrentHashMap$Node
      11:         12738        1894176  [Ljava.util.HashMap$Node;
      12:         16726        1854192  java.lang.Class
      13:         26914        1076560  java.util.LinkedHashMap$Entry
      14:         37059         889416  java.util.ArrayList
      15:         31471         755304  io.termd.core.term.Feature
      16:         12676         709856  java.util.LinkedHashMap
      17:         37628         602048  java.lang.Object

     

Android-LatencyUtils-延迟测量和报告的工具类 LatencyUtils - 延迟测量和报告的工具类 立即下载

相关推荐

java Thread Dump Lockness检查死锁

java Thread Dump 其实就是stack trace。 我们平时经常会碰见java异常,并且得到异常的方法用e.printstacktrace 实际上程序正常运行时也是会有stack trace的,只不过平时不显示出来而已。如何能正常及时显示堆栈信息呢!因为 这个对于定位死锁很重要,很简单。在运行java控制台的时候,都会用 java -classpath XXX org.XXX. main 这种方法 在管理控制台中按下ctrl + break 就能从界面上获得及时的堆栈信息了,但是这些信息很不方便。那么又如何能不在 dos窗口中运行,而是在eclipse集成环境中,并且还能使其写入文件,最后还能用可视化界面来显示它呢? 用如下方法:

CPU飙高问题排查

文章目录 1、查询哪个进程占用CPU 2、进程哪个线程占用CPU 3、查询线程的堆栈信息 前言 CPU飙高时,基本就是三板斧就可以找到具体占用CPU的线程信息,这样,你就看到CPU这么高,是什么线程在捣乱了! 1、查询哪个进程占用CPU 可以使用Top 或者top | grep 用户名 比如这里我们可以使用top | grep deploy 查询当前用户deploy下面有哪些进程比较占用CPU,如下图,可以发现进程28284比较占用CPU 2、进程哪个线程占用CPU 接...

程序猿玄微子 1729

LatencyUtils-2.0.3-API文档-中文版.zip

赠送jar包:LatencyUtils-2.0.3.jar; 赠送原API文档:LatencyUtils-2.0.3-javadoc.jar; 赠送源代码:LatencyUtils-2.0.3-sources.jar; 赠送Maven依赖信息文件:LatencyUtils-2.0.3.pom; 包含翻译后的API文档:LatencyUtils-2.0.3-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.latencyutils:LatencyUtils:2.0.3; 标签:LatencyUtils、latencyutils、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

关于内存泄漏

本文由 ImportNew - 范琦琦 翻译自 Programcreek。如需转载本文,请先参见文章末尾处的转载要求。 ImportNew注:如果你也对Java技术翻译分享感兴趣,欢迎加入我们的 Java开发 小组。参与方式请查看小组简介。 Java最显著的优势之一就是它的内存管理机制。你只需简单创建对象,然后Java垃圾回收机制便会小心的分配和释放内存。然而,事实并非如此简单,因

Garvin的专栏 2040

【bugfix】记一次CPU飙高的排查经历

目录 1.定位进程 2.定位线程 3.线程虚拟机栈分析 4.解决方案 4.1 升级JDK 4.2 使用ConcurrentHashMap 1.定位进程 top拿到cpu占用最高进程的进程号pid=14398 2.定位线程 top -H -p pid 特定进程中的线程 top -H -p 14398 找到最高的线程id:29230、29156、29151、29197、29240、29284、29291 转换成hex十六进制:722e、71e4、71df、720d、7238、7264、726b 3.线程虚拟机栈分析 jstack pid | grep threadId jstack生成线程快照

避坑指南:DeepSeek Function calling流式输出中的常见问题与解决方案

本文深入探讨了在DeepSeek Function Calling中实现流式输出时常见的参数拼接、函数依赖管理和错误处理等核心挑战。针对流式响应中参数碎片化的问题,提供了健壮的参数拼接方案与状态管理策略。同时,文章详细阐述了如何管理函数调用顺序、处理条件性执行,并构建了分阶段的错误处理与重试机制,旨在帮助开发者构建稳定、高效的流式AI应用。

weixin_29062671的博客 203

java 线程快照_性能优化(2) - jstack线程执行快照分析

jstack -l [pid]命令生成java虚拟机当前时刻的线程快照 Dump,下文展示的是几种常见的输出。"SimplePauseDetectorThread_2" #47 daemon prio=5 os_prio=0 tid=0x00007fd2c4160000 nid=0x7b0bwaiting on condition [0x00007fd2b20d3000]java.lang.Th...

weixin_42459078的博客 1175

未来智能家居解决方案:AI应用架构师的前沿探索

当你加班到深夜回家时,门锁自动识别你的脚步声解锁,玄关灯渐亮成你最爱的暖光,空调早已调到25℃(你夏天的习惯温度),音箱播放着最近循环的爵士乐,茶几上的智能水壶烧好了温水——这不是科幻电影,而是未来智能家居的日常。如何让“冰冷的设备”变成“懂你的伙伴”。我们将深入探讨五大前沿技术(边缘AI、多模态融合、联邦学习、数字孪生、个性化推荐)的底层原理,用“家里的小管家”“邻居互相学习”等生活化比喻简化复杂概念,结合代码示例与架构图还原实现流程,并通过智能卧室、智能厨房等真实案例展示落地路径。

AI天才研究院 1411

arthas 用法

java -jar arthas-boot.jar 启动 选择需要监控的pid编号 dashboard可以查看线程,内存,GC,以及Runtime信息 ID NAME GROUP PRIORITY STATE ...

824

告别编译失败:详解Keil MDK中ARM编译器V5与V6的区别及项目迁移选择

本文深入解析Keil MDK中ARM编译器V5与V6的核心差异,提供STM32项目迁移的完整指南。从代码生成策略、优化重点到语法支持,详细对比两版本特性,并给出项目兼容性评估框架和双版本共存配置方案,帮助开发者高效解决编译器版本冲突问题。

weixin_28684757的博客 516

Error relaunching VirtualBox VM process:5错误解决

前几天在重新使用VirtualBox的时候出现了一个挺恶心的错误,如图 百度了好久没有找到合适的解决方法。功夫不负有心人,在查阅了vb相关论坛时发现了大牛对此问题的诸多解决方案。下面我把此论坛的内容总结一下,希望对大家有帮助。 论坛链接:Diagnosing VirtualBox Hardening Issues 时间不足的小伙伴可以直接看 解决方法 造成这个错误的主要原因是,windows操作系统与oracle vb的不兼容。有两个方面,一是非官方windows系统中包含了一些没有签名的d

JaCenz的博客 3万+

JVM常见工具

当服务器上跑了多个Java应用,你想知道哪个进程是你要监控的时候,jps就派上用场了。从Arthas的一些基本命令我们就可以得到非常丰富、全面的信息,比之前的命令行工具好用多了。Arthas是阿里开源的Java诊断工具,可以说是目前最好用的线上诊断工具,没有之一。这个工具主要用来分析内存使用情况,特别是在发生内存溢出时,它能帮你保留现场。这是最基础的工具,相当于Linux的ps命令,专门用来查看Java进程。JConsole是JDK自带的图形化监控工具,界面简单直观。就能找到对应的进程ID。

动动发财的小手点点赞 919

别再手动建模了!用Simscape Multibody Link一键导入SolidWorks装配体到Simulink

本文介绍了如何利用Simscape Multibody Link插件将SolidWorks装配体一键导入Simulink,实现CAD到仿真的无缝衔接。该技术显著提升机械系统设计与控制效率,特别适用于工业机器人、车辆悬架等复杂机构的动力学分析。文章详细解析了插件安装、模型导出优化及仿真验证的全流程,帮助工程师摆脱手动建模的低效工作模式。

weixin_27256197的博客 461

JVM监控工具

JVM监控工具分为自带工具和第三方工具,各自具有不同的优缺点和适用场景。JVM自带工具包括命令行工具(如jps、jstat、jstack、jmap、jinfo、jcmd)和图形化工具(如JConsole、VisualVM、Java Mission Control),这些工具轻量级且无需额外安装,但功能相对基础。第三方工具包括开源工具(如Arthas、Prometheus+Grafana+JMXExporter)和商业工具(如JProfiler、YourKit)。

初入江湖,多多关照 1402

用angr找到strcpy的栈溢出漏洞

这篇文章其实是分析angr文档里给出的一个挖漏洞的小例子。 原文链接在此:https://docs.angr.io/examples#beginner-vulnerability-discovery-example-strcpy_find 这是第一个用angr在二进制里找可利用条件的教程。第一个例子是一个非常简单的程序。这个angr脚本会从程序的entry到strcpy找到一条路径。(只有我们能够控制strcpy的参数的时候) 为了找到正确的路径,angr需要去算一个密码参数,算这个密码,angr只要2s

^_^ 1220

kali破解wifi之airmon-ng 工具利用

......

qq_42378173的博客 1万+

java jvm监控工具_必须掌握的JVM监控工具

JVM是在java面试题中最常出现的题目类别之一,不仅是因为JVM属于java零基础的初学者首先要学习的内容,更因为虚拟机是使java语言实现与平台无关性这一特点的关键。这篇文章接着以前学习过的概念、JVM运行机制的内容,继续学习JVM的相关知识——JVM监控工具,是大家要掌握的虚拟机的内容。1、jps:虚拟机进程状况工具jps主要用来输出JVM中运行的进程状态信息。语法格式如下:jps [opt...

weixin_42131439的博客 1413

OpenClaw 在 Docker 容器中的部署实战——零配置启动

本文介绍了OpenClaw在Docker容器中的快速部署方法,对比了本地部署与容器化部署的优势。通过官方镜像和Docker Compose两种方式,5分钟即可完成部署,并详细讲解了配置管理方案(挂载配置文件和环境变量)。文章还提供了飞书集成配置方法,以及生产环境下的日志管理、资源限制、健康检查等优化建议。最后包含常见问题排查指南,帮助开发者快速实现OpenClaw的容器化部署。

刘一说的IT专栏 905

JVM相关工具

MAT是一个强大的内存分析工具,可以快捷、有效地帮助我们找到内存泄露,减少内存消耗分析工具。MAT是Memory Analyzer tool的缩写,是一种快速,功能丰富的Java堆分析工具,能帮助你查找内存泄漏和减少内存消耗。很多情况下,我们需要处理测试提供的hprof文件,分析内存相关问题,那么MAT也绝对是不二之选。使用MAT,可以轻松实现以下功能:找到最大的对象,因为MAT提供显示合理的累积大小(retained size)

chengede98的博客 980

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

pscad IEEE标准系统搭建说明

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

JVM常用分析工具

JVM常用分析工具一、Java Virtual Machine (JVM) Compile once, run everywhere. 二、垃圾收集器与内存回收分配策略 Serial -> 单线程、“Stop the world”、简单 高效{粗暴}、client模式 默认 新生代. ParNew -> 并行 多线程版、CMS 唯一搭档(除了Serial)(server首选).

yisea的博客 6706

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

JVM监控工具有哪些

jps        Java Virtual Machine Process Status Tool        jps是java自带的查看java进程的命令,可以查看当前系统所有运行中的java进程、java包名、jar包名及JVM参数等。在一个项目中有多个JVM运行时,比windows自带的任务管理器里查看方便...

学习 1977

VC中sqlite的使用

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

【JVM第8集】jvm调优工具(图形化工具)

图形化工具通过直观的界面和丰富的功能,帮助开发者快速定位 JVM 性能问题(如内存泄漏、GC 频繁、线程阻塞)。开发/测试环境:优先使用 JDK 自带的 JConsole 和 VisualVM。生产环境:结合 MAT 分析堆转储,或使用 JProfiler/YourKit 进行深度调优。复杂系统:APM 工具(如 SkyWalking)支持分布式追踪和全链路监控。

学不可以已,活到老,学到老。 1001

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

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

ACGkaka的博客 1632

JVM分析工具

JVM分析工具

sunny_daily的博客 2383

强大的JVM监控工具

在生产环境中,经常会遇到各种各样奇葩的性能问题,所以掌握最基本的JVM命令行监控工具还是很有必要的名称主要作用jps查看正在运行的Java进程jstack打印线程快照jmap导出堆内存映像文件jstat查看jvm统计信息jinfo实时查看和修改jvm配置参数jhat用于分析heapdump文件。

yuanmomoya的博客 1316
上一篇: redis发布并订阅
下一篇: Hystrix隔离类别
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值