java中jvm使用jststak定位线程cpu占用内存高的线程

简介: java中jvm使用jststak定位线程cpu占用内存高的线程

1.查看java进程,并导出文件

[root@MiWiFi-R4-srv home]# jps -l

2728 sun.tools.jps.Jps

2622 ./jvm-0.0.1-SNAPSHOT.jar

[root@MiWiFi-R4-srv home]# jststak 2622 > 2622.txt

-bash: jststak: command not found

[root@MiWiFi-R4-srv home]# jstack 2622 > 2622.txt

[root@MiWiFi-R4-srv home]# sz 2622.txt

[root@MiWiFi-R4-srv home]#

2.使用top -p 2622 -H 查看看所有java中的进程

[root@MiWiFi-R4-srv home]# top -p 2622 -H

top - 05:35:51 up 11 min,  1 user,  load average: 1.81, 1.24, 0.53

Tasks:  30 total,  2 running,  28 sleeping,   0 stopped,   0 zombie

Cpu(s): 91.4%us,  0.8%sy, 0.0%ni,  7.6%id, 0.0%wa,  0.0%hi, 0.2%si,  0.0%st

Mem:   1906556k total,  1443924k used,  462632k free,   23812k buffers

Swap:  2097144k total,       0k used,  2097144k free,  249896k cached

  PID USER     PR  NI  VIRT RES  SHR S %CPU %MEM   TIME+ COMMAND                                                            

 2624 root     20  0 2929m 603m  12m R 87.9 32.4   4:31.58 java  

3.转换为16进制去第一步文件中进行查找

[root@MiWiFi-R4-srv home]# printf "%x" 2624

a40

转换后为a40接着去第一步导出的文件中进行查找

--------------------------------

相关文章
|
3天前
|
存储 算法 Java
Java 内存管理:深入理解垃圾收集器
【7月更文挑战第19天】在Java的世界中,内存管理扮演着至关重要的角色。它确保了程序运行的高效与稳定,而垃圾收集器(Garbage Collector, GC)是实现这一目标的关键机制。本文将探讨Java内存管理的基本概念,深入分析不同的垃圾收集算法及其工作原理,并讨论如何优化GC性能。通过实际案例,我们将揭示垃圾收集对Java应用性能的影响,并提出相应的调优策略。无论你是Java新手还是资深开发者,这篇文章都将为你打开高效内存管理的新篇章。
|
1天前
|
缓存 安全 算法
Java内存模型深度解析与实践应用
本文深入探讨Java内存模型(JMM)的核心原理,揭示其在并发编程中的关键作用。通过分析内存屏障、happens-before原则及线程间的通信机制,阐释了JMM如何确保跨线程操作的有序性和可见性。同时,结合实例代码,展示了在高并发场景下如何有效利用JMM进行优化,避免常见的并发问题,如数据竞争和内存泄漏。文章还讨论了JVM的垃圾回收机制,以及它对应用程序性能的影响,提供了针对性的调优建议。最后,总结了JMM的最佳实践,旨在帮助开发人员构建更高效、稳定的Java应用。
|
1天前
|
安全 Java 开发者
探索Java内存模型:可见性、有序性和并发
在Java的并发编程领域中,内存模型扮演了至关重要的角色。本文旨在深入探讨Java内存模型的核心概念,包括可见性、有序性和它们对并发实践的影响。我们将通过具体示例和底层原理分析,揭示这些概念如何协同工作以确保跨线程操作的正确性,并指导开发者编写高效且线程安全的代码。
|
5天前
|
监控 算法 Java
|
2天前
|
Java Windows
为什么JVM在内存返还策略上会左右为难
为什么JVM在内存返还策略上会左右为难?
|
3天前
|
JSON Java BI
一次Java性能调优实践【代码+JVM 性能提升70%】
这是我第一次对系统进行调优,涉及代码和JVM层面的调优。如果你能看到最后的话,或许会对你日常的开发有帮助,可以避免像我一样,犯一些低级别的错误。本次调优的代码是埋点系统中的报表分析功能,小公司,开发结束后,没有Code Review环节,所以下面某些问题,也许在Code Review环节就可以避免。
49 0
一次Java性能调优实践【代码+JVM 性能提升70%】
|
1天前
|
存储 算法 Java
Java类是在什么时候加载到JVM中的?加载类时,实际上加载的是什么
Java类是在什么时候加载到JVM中的?加载类时,实际上加载的是什么
|
2天前
|
Java Docker 容器
Java的运行期内存占用为什么居高不下
Java的运行期内存占用为什么居高不下?
|
4天前
|
存储 安全 Java
深入理解Java内存模型(JMM)及其在并发编程中的应用
Java内存模型(JMM)是Java虚拟机规范中定义的一套规则,它指导着线程如何通过内存交互。JMM不仅关乎数据一致性与可见性问题,还直接影响到并发程序的正确性和性能。本文将探讨JMM的核心概念、工作原理及其在高效并发编程中的实践应用,旨在为读者提供一套完整的理论框架和实战技巧,以应对复杂并发环境下的挑战。
|
6天前
|
存储 监控 算法
探索Java虚拟机:深入理解JVM内存模型和垃圾回收机制
在Java的世界中,JVM是核心所在,它不仅承载着代码的运行,还管理着内存资源。本文将带你深入了解JVM的内存模型和垃圾回收机制,通过具体数据与案例分析,揭示它们对Java应用性能的影响,并探讨如何优化JVM配置以提升效率。