首页 > 编程知识 正文

如何查看cpu使用率,如何看cpu使用率

时间:2023-05-04 22:57:13 阅读:217104 作者:4670

Linux作为多任务操作系统,将各CPU的时间分割成短的时间片,用调度程序按顺序分配给各任务使用,所以会产生多任务同时执行的错觉。 为了维持CPU时间,Linux触发了预先定义的节拍速率(内核中记为HZ )、时间中断,用全局变量Jiffies记录了启动后的节拍数。 每次发生时间中断时,Jiffies的值加1。

节奏HZ是内核的兼容选项,可以定制配置。 可以通过/boot/config进行查询

$ grep ' config _ Hz='/boot/config-$ (uname-r ) config _ Hz=1000http://www.Sina.com/user (通常缩写为us ),用户

nice (通常为ni )表示低优先级用户状态的CPU时间,即进程的nice值调整为1到19之间的CPU时间。

system (通常简称sys ),表示核心状态的CPU时间

idle (通常简称为id ),表示空闲时间。 请注意,不包括I/O等待时间(iowait )

表示等待I/O的CPU时间的iowait (通常简称为wa ) )。

irq (通常简称为hi )表示处理硬中断的CPU时间

表示处理软崩溃的CPU时间的softirq (通常为si ) )。

steal (通常为st )表示系统在虚拟机上运行时,其他虚拟机所消耗的CPU时间

guest (通常简称guest )表示虚拟化运行其他操作系统的时间,即虚拟机运行的CPU时间

CPU使用率有很多重要指标,具体含义如下:

而我们通常所说的CPU使用率,就是除了空闲时间外的其他时间占总CPU时间的百分比,用公式表示为:

但是,请注意间隔时间的设置,因为性能分析工具显示了每隔一段时间的平均CPU利用率。 特别是在比较分析多个工具时,需要确保间隔时间相同。

例如,如果比较top和ps这两个工具报告的CPU使用率,则默认结果可能不同。 top默认使用3秒间隔,而ps使用整个流程生命周期。

在通过查看CPU使用率的方式了解了CPU使用率的含义之后,我们来看看如何查看CPU使用率。 查看CPU利用率性能工具,首先要查看上面这个计算方式是不具备参考意义的,因为总CPU时间是机器开机以来的,事实上,为了计算CPU使用率,性能工具都会取间隔一段时间(比如5秒)的两次值,做差后,再计算出这段时间内的平均CPU使用率,即:

ps、top显示了整个系统的处理器和内存使用情况,以及每个进程的资源使用情况

top显示了每个进程的资源利用率

例如,ps的输出格式:

请注意,这是top默认显示的所有CPU的平均值。 此时,只需按数字1,即可切换为各CPU的使用率。 向下看时,空行后面会显示进程的实时信息。 每个进程都有一个%CPU列,显示进程的CPU利用率。 这是用户状态和内核状态的CPU使用率总和,包括进程的用户空间、使用的CPU、在系统调用中运行的内核空间CPU和在就绪队列中等待运行的CPU。

用于分析进程的命令,如pidstat。 变更命令如下。

用户状态CPU使用率(%user )

核心状态的CPU使用率(%system ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )。

运行虚拟机的CPU利用率百分比%guest

等待CPU使用率百分比等待

和总CPU使用率(% CPU (% CPU ) ) ) ) ) ) ) ) ) ) ) )。

3358www.Sina.com/top、ps、pidstat等工具可以找到具体的过程,但如果想知道是代码中的哪个函数呢? 通过找到它,可以更高效、更明确地进行优化。 建议使用系统中的嵌入式perf工具。 它基于性能事件采样,不仅可以用于分析系统中各种事件和内核的性能,还可以用于分析给定APP应用的性能问题。

第一种常见的方法是perf top

输出的第一行包含三个数据:采样数(Samples )、事件类型(事件总数)和Event count top。 从下面看是表中的数据,每行包含以下四列。

第一列中的Overhead是所有示例中元件性能事件的百分比

第二列中的Shared是包含函数或指令的动态共享对象,如内核、进程名称或动态链接库名称

第三列中的Object是动态共享对象的类型。 例如,[.]表示用户空间可执行文件或动态链接库,[k]表示内核空间

最后一列中的Symbol是符号名称,即函数名称。 如果不知道函数名称,则用十六进制地址表示

第二种使用方法是perf record和perf report。 perf top虽然实时显示了系统的性能信息,但存在不存储数据,即不能用于离线或后续分析的缺点,而record提供了存储数据的功能,存储数据后用perf report进行分析展示。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。