在Linux上输入top
进入top后按【shift】+【H】组合键,按线程方式查看线程ID、CPU消耗状况等
通过这种方式获取耗CPU的线程后查看ThreadDump文件做进一步分析
获取ThreadDump的方法:
jstack -l pid >jstack.log
"Attach Listener" daemon prio=10 tid=0x00007fd388001000 nid=0x76e6 waiting on condition [0x0000000000000000]
线程名称: Attach Listener
* 线程类型:daemon
* 优先级:10,默认是5
* jvm线程id:jvm内部线程的唯一标识, 0x00007fd388001000
* 对应系统线程id:和top命令查看的pid对应,不过一个是10进制,一个是16进制。0x76e6
* 线程状态:waiting on condition
* 起始栈地址: [0x0000000000000000]
线程状态详解
Runnable
_The thread is either running or ready to run when it gets its CPU turn.
Wait on condition
_The thread is either sleeping or waiting to be notified by another thread._
Waiting for Monitor Entry and in Object.wait()
_The thread is waiting to get the lock for an object (some other thread may be holding the lock). This happens if two or more threads try to execute synchronized code. Note that the lock is always for an object and not for individual methods._
分享到:
相关推荐
Java线程堆是一个运行中的Java应用程序的所有线程的一个快照。它会显示一些像当前的堆栈跟踪、状态以及线程名称之类的信息。线程列表中包括由JVM本身创建...本文通过分析Java线程堆解决Java应用程序中存在问题的技术。
linux定时java程序,包含短信、邮件发送等检测程序,使用多线程技术。主要功能是监控系统状态,然后通过短信邮件进行通知,里边包含了许多测试工程,自己看代码选择需要的
Linux系统是一个免费使用和自由传播的类Unix操作系统,基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统,Linux是许多企业...
│ Java面试题57.hibernate对象状态及其转换.mp4 │ Java面试题58:hibernate的缓存.mp4 │ Java面试题59.webservice的使用场景.mp4 │ Java面试题60.Activiti的简单介绍.mp4 │ Java面试题61.linux的使用场景.mp4 ...
Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...
Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...
实时监控:Arthas可以实时监控Java应用程序的运行状态,包括线程、类加载、GC等信息,帮助开发者了解应用程序的运行情况。 2. 命令行工具:Arthas提供了丰富的命令行工具,可以通过命令行进行故障排查和性能优化,...
Java面试题57.hibernate对象状态及其转换 Java面试题58:hibernate的缓存 Java面试题59.webservice的使用场景 Java面试题60.activiti的简单介绍 Java面试题61.linux的使用场景 Java面试题62.linux常用命令 Java面试...
是基于Linux模块开发的线程安全通用连接池,减少由频繁建立和释放连接带来的系统开销,提升服务响应速度,支持跨语言、多服务的通用连接池,应用层代码不需要做任何改动,对于某些有状态的连接服务(需要连接认证,...
javaWeb,java基础,java异常,jsp&servlet,JVM,Linux,多线程并发,集合容器 springboot框架,数据结构,数据库,算法 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意...
如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。一般来说,assertion用于保证程序最基本、关键的正确性。assertion检查通常在开发和测试时开启。为了提高性能,在软件发布后,assertion...
53、线程的基本概念、线程的基本状态以及状态之间的关系 34 54、简述synchronized和java.util.concurrent.locks.Lock的异同 ? 34 55、设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序...
53、线程的基本概念、线程的基本状态以及状态之间的关系 34 54、简述synchronized和java.util.concurrent.locks.Lock的异同 ? 34 55、设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序...
linux 代码控制 自动化代码检查 sonar 代码规范 阿里巴巴Java开发规范手册 UMPAY——编码规范 日志规范 异常规范 网络 协议 TCP/IP HTTP hession file HTTPS 负载均衡 容器 JBOSS tomcat resin...
69. LINUX下线程,GDI类的解释。 15 70. java常用的设计模式?说明工厂模式。 15 71. 内部类可以引用他包含类的成员吗?有没有什么限制? 15 J2EE 15 1. JSP的内置对象及方法。 15 2. JSP的常用指令 16 3. Request对象...
53、线程的基本概念、线程的基本状态以及状态之间的关系 34 54、简述synchronized和java.util.concurrent.locks.Lock的异同 ? 34 55、设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序...
如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。一般来说,assertion用于保证程序最基本、关键的正确性。assertion检查通常在开发和测试时开启。为了提高性能,在软件发布后,assertion...
线程状态转换与通信机制 线程同步与互斥 线程池知识点 常见的JUC工具类 常用工具集 JVM问题排查工具-JMC IDEA开发神器 线上调试神器-btrace Git原理与工作流 Linux常用分析工具 数据结构与算法 从二叉搜索树到B+树 ...
53、线程的基本概念、线程的基本状态以及状态之间的关系 34 54、简述synchronized和java.util.concurrent.locks.Lock的异同 ? 34 55、设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序...