http://www.iteye.com/topic/283992 此文很好很强大,对于爪哇应用来说,估计不能这样搞,我找遍javadoc,没发现可以提供这种手段的方法函数。
不过我们可以转个弯,试试这样做:
1 先用ps + grep找出该死的进程pid,比如 30420
2 top -H -p 30420,所有该进程的线程都列出来了。看看哪个线程pid占用最多,然后将这个pid转换为16进制,如 44bf,注意要小写
3 jstack 30420 | less,然后查找 nid=0x44bf,哦,找到了
"main" prio=10 tid=0x0000000053911400 nid=0x44bf runnable [0x0000000040f5c000..0x0000000040f5ced0]
java.lang.Thread.State: RUNNABLE
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at java.net.SocketInputStream.read(SocketInputStream.java:182)
at com.caucho.server.resin.Resin.waitForExit(Resin.java:524)
at com.caucho.server.resin.Resin.main(Resin.java:614)
p.s 严重提示:jstack操作有风险,使用虚谨慎,俺不止一次执行jstack操作导致jvm退出,不知为啥,rp啊rp。。。本来使用JMX会安全一些的,但是翻遍ThreadInfo的doc,没有找到有关的方法
分享到:
相关推荐
用在嵌入式linux平台上,通常busybox的top无法看到多线程应用的每个线程的cpu占用率,特地编写了这个小工具.
CPU使用率是衡量处理器在一段时间内执行用户进程或系统进程所占用的时间比例。它通常以百分比表示,例如50%表示CPU有一半时间在处理任务,另一半时间空闲。线程级别的CPU使用率则关注的是特定线程对CPU的利用情况。 ...
总之,监控进程的内存使用、CPU占用和线程数是理解和优化系统性能的重要手段。通过合理使用操作系统提供的接口和工具,我们可以有效地获取这些信息,为系统管理提供有力的数据支持。在实际操作中,还需要考虑并发...
通过以上方法,你可以深入了解Linux下Java进程及线程对CPU的占用情况,从而进行问题定位和性能优化。在实际操作中,通常会结合多个工具和方法,以便从不同角度全面分析。记得,持续监控和分析是找出问题的关键。
查看 LINUX 进程内存占用情况 Linux 操作系统中查看进程内存占用情况是系统管理员和开发人员日常任务中非常重要的一部分。通过查看进程内存占用情况,可以了解系统中进程的资源占用状况,故障排查和性能优化。下面...
在IT领域,尤其是在系统编程和性能分析中,了解如何获取进程的CPU占用率和内存使用情况至关重要。在C++环境中,这通常涉及到操作系统接口的使用,例如Windows API或POSIX系统调用。以下是对"进程CPU占用率和内存使用...
要查看进程的CPU和内存使用情况,可以按下`Ctrl+Shift+Esc`快捷键打开任务管理器,然后切换到"进程"或"详细信息"选项卡。在这里,你会看到所有运行的进程,每个进程旁边都有CPU和内存利用率的百分比。此外,还可以...
CPU占用高的首要任务是找出是哪个或哪些进程导致的。通过Windows的任务管理器或Linux的`top`或`htop`命令,我们可以查看当前运行的进程及其CPU使用率。这有助于我们识别占用CPU资源最多的程序。 2. **恶意软件检查...
linux 系统cpu占用率,进程线程状态监控,shell脚本。linux系统架构下用于正常监控程序运行状态以及cpu占用率,日志系统等
在Linux系统中,使用多进程处理多个任务,会占用很多系统资源(主要是CPU和内存的使用)。因此,Linux系统对这种弊端进行了改进,在用户态实现了多线程处理多任务。本文系统论述了多线程间通信技术的使用,通过对单...
【Linux进程之如何查看进程详情】\n\n在Linux操作系统中,管理和控制进程是系统管理员的基本任务之一。要实现这一目标,首要的就是了解当前运行的进程情况,这可以通过`ps`命令来完成。`ps`命令是Linux下查看进程...
`WPC`提供了一个丰富的接口,允许开发者访问系统的各种性能指标,包括线程CPU使用率。另外,还可以利用`NT Kernel & System`进程的`Thread`对象下的`% Processor Time`计数器来获取。 在Linux系统中,可以使用`/...
使用 top 命令可以查看当前系统各线程占用率,格式为:top -d 1 五、问题三:究竟是 lte_oam 哪个线程? 使用 strace 命令可以跟踪进程的系统调用,格式为:strace -p <进程号> 使用 perf 命令可以分析进程的调用...
综上所述,Linux进程线程编程的学习笔记整理涵盖了进程的基本概念、进程的创建与管理、进程类型、进程状态转换、线程编程、进程间通信和信号处理等多个方面。掌握这些知识点对于深入理解Linux操作系统运行机制、编写...
1. **查看CPU占用率最高的前10个进程** 使用`ps auxw`命令可以列出所有进程的信息,并通过管道(`|`)结合`sort -rn -k 3`进行排序,`-r`表示降序排列,`-n`表示按照数字排序,`-k 3`指定按照第3列(即CPU占用率)...
2. **线程或进程阻塞**:当程序中的某个线程被长时间阻塞,如等待I/O操作完成,而其他线程无法执行时,CPU可能会因等待而空转,造成高CPU占用。 3. **死锁与竞态条件**:多线程应用中,死锁和竞态条件可能导致线程...
在Linux系统中,栈可以分为进程栈、线程栈、内核栈以及中断栈。 首先,我们需要了解栈(Stack)的基本概念。栈是一种后进先出(LIFO, Last In First Out)的数据结构,它允许数据被存储和检索,但只允许在一段称为...
2. Linux的top命令:实时显示系统各进程的资源占用状况,包括CPU占用率,可以根据需要排序。 3. htop:Linux下的增强版top,提供彩色界面和更友好的用户交互。 4. perf:Linux内核性能分析工具,可进行深入的CPU性能...
"端口进程线程查看工具"是一款专为此目的设计的实用软件,深受网络安全专家和系统管理员的喜爱。这款工具可以帮助用户快速了解其个人主机上开放的端口,以及这些端口背后运行的进程和线程,对于识别潜在的安全风险和...
在你提供的压缩包`mytopV2.4`中,我们可以找到这个实用工具的源代码或者二进制版本,用于观察Linux系统的内存和CPU占用情况。 内存管理在Linux中分为多个层次,主要包括物理内存(RAM)、交换空间(Swap)和虚拟...