`
san_yun
  • 浏览: 2663441 次
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

Linux下如何查看高CPU占用率线程 LINUX CPU利用率计算

 
阅读更多
在 Linux 下 top 工具可以显示 cpu 的平均利用率(user,nice,system,idle,iowait,irq,softirq,etc.),可以显示每个 cpu 的利用率。但是无法显示每个线程的 cpu 利用率情况,
这时就可能出现这种情况,总的 cpu 利用率中 user 或 system 很高,但是用进程的 cpu 占用率进行排序时,没有进程的 user 或 system 与之对应。

可以用下面的命令将 cpu 占用率高的线程找出来:
ps H -eo user,pid,ppid,tid,time,%cpu,cmd --sort=%cpu

精简版:
ps -eL -o pid,%cpu,lwp|grep 8424 | sort

这个命令首先指定参数'H',显示线程相关的信息,格式输出中包含:user,pid,ppid,tid,time,%cpu,cmd,然后再用%cpu字段进行排序。这样就可以找到占用处理器的线程了。



proc文件系统

/proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为内核与进程提供通信的接口。用户和应用程序可以通过/proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取/proc目录中的文件时,proc文件系统是动态从系统内核读出所需信息并提交的。

/proc目录中有一些以数字命名的目录,它们是进程目录。系统中当前运行的每一个进程在/proc下都对应一个以进程号为目录名的目录/proc/pid,它们是读取进程信息的接口。此外,在Linux2.6.0-test6以上的版本中/proc/pid目录中有一个task目录,/proc/pid/task目录中也有一些以该进程所拥有的线程的线程号命名的目录/proc/pid/task/tid,它们是读取线程信息的接口。
/proc/cpuinfo文件



更多参考:

理解Load Average做好压力测试:http://www.blogjava.net/cenwenchu/archive/2008/06/30/211712.html
php-cgi进程占用cpu资源过多负载高的原因分析及解决步骤:http://zhangxugg-163-com.iteye.com/blog/873378
深入理解linux系统下proc文件系统内容 http://www.cnblogs.com/cute/archive/2011/04/20/2022280.html
Linux平台Cpu使用率的计算 http://www.blogjava.net/fjzag/articles/317773.html

分享到:
评论

相关推荐

    可以查看多线程cpu占用率的工具

    用在嵌入式linux平台上,通常busybox的top无法看到多线程应用的每个线程的cpu占用率,特地编写了这个小工具.

    用java获取CPU占用率

    **Linux平台下的CPU占用率计算** 对于Linux系统,CPU占用率的计算通常是通过对`/proc/stat`文件的解析。该文件包含了系统自启动以来的统计信息,包括CPU时间的详细记录。代码中`getCpuRateForLinux()`方法试图打开...

    CPU占用率测试工具

    1. Windows的任务管理器:Windows内置的工具,可以查看每个进程的CPU利用率,同时提供结束进程、启动任务等操作。 2. Linux的top命令:实时显示系统各进程的资源占用状况,包括CPU占用率,可以根据需要排序。 3. ...

    使用C++获取指定线程的CPU使用率

    线程级别的CPU使用率则关注的是特定线程对CPU的利用情况。 在Windows操作系统中,我们可以利用Windows API函数来获取这些信息。核心的API函数包括`CreateToolhelp32Snapshot`, `Thread32First`, 和 `Thread32Next`...

    linux-让多核CPU达到指定的CPU使用率脚本

    - 脚本可能通过监控`/proc/stat`文件获取CPU利用率信息,该文件提供了系统运行状态的实时统计。 - 脚本会自动排除自身占用的CPU%,确保计算的CPU使用率反映的是其他进程的使用情况。 - 当CPU使用率低于某个设定...

    Linux CPU占用率高故障排查.docx

    Linux CPU 占用率高故障排查 Linux CPU 占用率高故障排查是一种常见的故障现象,需要通过系统监控和性能分析工具来排查和解决。下面是 Linux CPU 占用率高故障排查的知识点总结: 一、问题一:高 CPU 利用率一定就...

    CPU占用高

    过时的驱动程序可能造成CPU利用率异常。确保所有硬件驱动程序是最新的,特别是显卡、网卡和声卡驱动。 10. **操作系统的调整**: 修改操作系统的电源设置,例如将性能模式设置为“高性能”,可以帮助提高CPU效率...

    CPU占用率检测模块.rar

    它反映了计算机执行任务的繁忙程度,高CPU占用率可能导致系统响应变慢,甚至可能出现卡顿或崩溃。本“CPU占用率检测模块”是一个专门用于监测和分析系统CPU使用情况的软件工具,帮助用户了解系统资源的使用状况,...

    控制cpu的占用率

    在IT领域,优化CPU占用率是一项重要的任务,特别是在服务器管理和应用程序性能调优中。本文将深入探讨如何控制CPU的占用率,并提供相关的源码和工具分析。首先,我们需要理解CPU占用率的概念及其影响因素。 CPU占用...

    获取每个线程的CPU使用率源代码

    对于线程级别的CPU使用率,我们需要关注的是单个线程如何占用CPU资源。通常,操作系统会维护关于线程执行的信息,包括其运行时间、等待时间等,这些信息可用于计算线程的CPU使用率。 在Windows系统中,我们可以使用...

    Qt实现的实时显示CPU使用率

    通过比较两次读取之间的数据变化,我们可以计算出CPU的使用率。在Windows系统中,可以使用`QueryPerformanceCounter`和`QueryPerformanceFrequency`函数获取CPU计时信息。 接下来,我们需要在Qt中设计一个界面来...

    查看指定进程的cpu和内存使用情况

    在这里,你会看到所有运行的进程,每个进程旁边都有CPU和内存利用率的百分比。此外,还可以通过右键点击进程并选择"打开文件位置"来查看关联的程序文件,或者选择"结束任务"来终止进程。 在Linux系统中,我们可以...

    Linux系统中CPU占用率较高问题排查思路与解决方法

    本文主要探讨了如何排查和解决Linux系统中CPU利用率高的问题,包括两种常用的方法以及一个实际的故障排查案例。 方法一: 1. 使用`top`命令,按下`Shift+p`对进程按CPU使用率进行排序,找到占用CPU最多的进程的PID...

    LINUX CPU利用率算法android.pdf

    总结来说,理解Linux下的CPU利用率算法需要掌握/proc文件系统中的关键文件,特别是/proc/cpuinfo和/proc/stat,以及如何解析其中的数据来计算CPU利用率。这对于系统管理员、开发者和性能优化专家来说是必不可少的...

    java监控linux cpu使用率

    在Java中,我们可以利用`Runtime`类或`ProcessBuilder`类来执行Linux命令,如`top`或`vmstat`,然后解析输出以获取CPU使用率。但是,这种方法可能会受到shell环境的影响,且不够高效。更常见的是使用Java的`java....

    linux内存和CPU占用情况

    1. `top`或`htop`:列出所有运行的进程,按照CPU占用率排序,便于找出占用CPU较高的进程。 2. `ps`命令:可以查看特定进程的CPU使用情况,例如`ps -aux`会显示所有进程的信息。 3. `mpstat`:报告每个CPU核心的活动...

    QT/C++实时获取CPU和内存的使用率

    QT/C++实时获取CPU和内存使用率是软件开发中一项重要的功能,特别是在系统监控或性能分析的应用场景下。QT框架提供了跨平台的能力,使得我们可以在Windows、macOS、Linux等不同操作系统上编写代码,而C++作为其底层...

    c语言查看cpu使用率

    平台:linux。 语言:c。 功能:查看当前系统cpu使用率(可多核),1秒刷新一次。

Global site tag (gtag.js) - Google Analytics