[转帖]CPU状态信息us,sy等含义

cpu,状态,信息,us,sy,含义 · 浏览次数 : 0

小编点评

**目录一.概述概述** *一秒内有100个cpu时间片,每个时间片用于不同的区域和目的进行操作。 *用户空间从0到3G,内核空间占据3G到4G。 *用户进程可以访问用户空间的虚拟地址,内核空间是由内核负责映射。 **目录二.详解us和syniidwahi和sist** * **us:** 用户空间 CPU 使用率,表示 CPU 在用户态运行运行的时间百分比。 * **syniidwahi:** 核心优先级,具体说明用户进程空间内,改变过优先级的进程占用CPU百分比进程都有优先级的,如果调节优先级,需要耗费cpu的时间段的,那就消耗这个ni如果ni高,那就是进程可能频繁调换优先级。 * **sist:** 低优先级用户态 CPU 使用率,表示用户进程空间内,改变过优先级的进程占用CPU百分比进程有优先级的,如果调节优先级,需要耗费cpu的时间段的,那就消耗这个ni如果ni高,那就是进程可能频繁调换优先级。 **目录三.总结** * 用户 CPU 和 Nice CPU 高,说明用户态进程占用了较多的 CPU。 * 系统 CPU 高,说明内核态占用了较多的 CPU所以应该着重排查内核线程或者系统调用的性能问题。 * 当 %iowait 的值过高,表示硬盘存在I/O瓶颈。 * 当 %idle 的值高但系统响应慢时,有可能是 CPU 等待分配内存,此时应加大内存容量。 * 当 %idle 的值持续低于1,则系统的 CPU 处理能力相对较低,表明系统中最需要解决的资源是 CPU。

正文

https://www.cnblogs.com/rxysg/p/15670435.html

 

 

一.概述概述

比如一秒内有100个cpu时间片,这个cpu时间片就是cpu工作的最小单位。那么这100个cpu时间片在不同的区域和目的进行操作使用,就代表这个区域所占用的cpu时间比。也就是这里得出的cpu时间百分比。

如下为TOP命令看到的信息,每个参数将表示cpu时间片被占用的分布情况,如下所有相加为100%。

如下,%Cpu(s)计算为所有,多少个核心都是100%
显示的进程的%CPU为单个核心,占满一个核心为100%,2个就是200%

二.详解

us和sy

us 用户空间占用CPU百分比
sy 内核空间占用CPU百分比

用户 CPU 使用率,包括用户态 CPU使用率(user)和低优先级用户态 CPU使用率(nice),表示 CPU 在用户态运行运行的时间百分比用户 CPU 使用率高,通常说明有应用程序比较繁忙。

系统 CPU 使用率,表示 CPU 在内核态运行时间百分比(不包括中断)。系统 CPU 使用率高,说明内核比较繁忙。

4G的进程地址空间(内存)被人为的分为两个部分--用户空间与内核空间。用户空间从0到3G(0xc0000000),内核空间占据3G到4G。用户进程通常情况下只能访问用户空间的虚拟地址,不能访问内核空间的虚拟地址。例外情况只有用户进程进行系统调用(代表用户进程在内核态执行)等时刻可以访问到内核空间。

所以内核的操作占用内核空间,进程的操作占用进程空间

用户空间对应进程,所以每当进程切换,用户空间就会跟着变化;而内核空间是由内核负责映射,它并不会跟着进程变化,是固定的。内核空间地址有自己对应的页表,用户进程各自有不同的页表。

每个进程的用户空间都是完全独立、互不相干的。

ni

优先级具体说明

用户进程空间内,改变过优先级的进程占用CPU百分比

进程都有优先级的,如果调节优先级,需要耗费cpu的时间段的,那就消耗这个ni

如果ni很高,那就是进程可能频繁调换优先级(当前理解)

id

剩下的id就是除了id以为占用cpu时间片的空闲部分,相当于空间cpu的百分比。

wa

wa指的是CPU等待磁盘写入完成的时间,就是说前提是要进行IO操作。

在进行IO操作的时候,如果程序是阻塞的,他cpu会等待数据写入磁盘才能完成写操作。所以这个时候cpu等待的时间就是wa。

举例:
使用cp复制,如果文件夹中有多个文件,他每复制一次,cpu就指挥文件复制,但是硬盘读写的时候,cpu是要等待的,这时候cpu不动作只是等待。

所以如果一台机器看到wa特别高,那么一般说明是磁盘IO出现问题,可以使用iostat等命令继续进行详细分析。

hi和si

软硬中断具体说明

如果程序没有问题,那是没有hi和si的。当键盘打字,cpu就要去立即处理这个东西,那就是中断,意味着中断当前操作来处理需要立即处理的东西。

软中断和硬中断理论一样,但是软件的,具体看详细说明

st

st的解释是实时,但是与虚拟化有关

比如centos上搞kvm(虚拟机,类似win的vmver),那在本机查询st很高

当前理解为,为虚拟机提供的cpu时间片占用数。比如开启2个虚拟机,那虚拟机用的cpu还是由真机提供的,这里应该是应用于虚拟化的数量。

查看每一个cpu的状态mpstat
mpstat -P ALL

irq: 硬件中断CPU用量;
sofr: 软件中断CPU用量;
iowait:就是上面说的wa
steal: 耗费在服务其他租户的时间(不懂);
guest: 花在访客虚拟机的时间(不懂);

三.总结

用户 CPU 和 Nice CPU 高,说明用户态进程占用了较多的 CPU,所以应该着重排查进程的性能问题

系统 CPU 高,说明内核态占用了较多的 CPU所以应该着重排查内核线程或者系统调用的性能问题

若 %iowait 的值过高,表示硬盘存在I/O瓶颈;

若 %idle 的值高但系统响应慢时,有可能是 CPU 等待分配内存,此时应加大内存容量;

若 %idle 的值持续低于1,则系统的 CPU 处理能力相对较低,表明系统中最需要解决的资源是 CPU;

作者:日行一善g

出处:https://www.cnblogs.com/rxysg/p/15670435.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

与[转帖]CPU状态信息us,sy等含义相似的内容:

[转帖]CPU状态信息us,sy等含义

https://www.cnblogs.com/rxysg/p/15670435.html 目录 一.概述概述 二.详解 us和sy ni id wa hi和si st 三.总结 一.概述概述 比如一秒内有100个cpu时间片,这个cpu时间片就是cpu工作的最小单位。那么这100个cpu时间片在不

[转帖]CPU状态信息us,sy,ni,id,wa,hi,si,st含义

CPU状态信息us,sy,ni,id,wa,hi,si,st含义 https://blog.csdn.net/weixin_34075268/article/details/92413101 Linux中在使用top命令的时候会看到这么一行: 里面的各个值分别是什么意思呢? 今天被问到这个问题,发现

[转帖]Linux查看硬件信息超强命令sar,以及可视化工具ksar

https://juejin.cn/post/6947470401135968286 一、概述 sar(System Activity Reporter,系统活动情况报告)是Linux下系统运行状态统计工具,可从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU

[转帖]Linux禁用CPU省电状态/Linux系统性能调优

https://www.jianshu.com/p/945168b47487 How to Disable CPU Power Saving States on a Redhat or Suse Linux System For RedHat Linux (release 7 and later)

[转帖]查看x86 cpu睿频命令

查看cpu是否开启睿频,offline掉一些cpu核心后,查看cpu睿频是否升高? turbostat统计X86 处理器的频率、空闲状态、电源状态、温度等状态等 [root@rootbird~]# turbostat 如上图所示cpu开启了睿频,频率是3497。各个指标含义: AVG_MHz 执行周

[转帖]Linux性能分析(二):理解CPU上下文切换

在计算机中,上下文切换是指存储进程或线程的状态,以便以后可以还原它并从同一点恢复执行。这允许多个进程共享一个CPU,这是多任务操作系统的基本功能。 Linux 是一个多任务操作系统,它支持远大于 CPU 数量的任务同时运行,这依赖于CPU上下文切换。CPU 上下文切换,就是先把前一个任务的 CPU

[转帖]在龙芯3A5000上测试SPEC CPU 2006

https://baijiahao.baidu.com/s?id=1707601012673143593&wfr=spider&for=pc 注:百家号中,一些文本、代码等的排版格式无法控制,编辑状态时看着好好的,发布之后再看就乱了。这里真不适合当成技术博客来用……本人(guee)知乎上的同名文章中

[转帖]《Linux性能优化实战》笔记(五)—— 不可中断进程与僵尸进程

一、 进程状态 1. 状态含义 从 ps或者 top 命令的输出中,可以看到处于不同状态的进程 R:Running 或 Runnable,表示进程在 CPU 的就绪队列中,正在运行或者正在等待运行D:Disk Sleep,不可中断状态睡眠(Uninterruptible Sleep)S:Interr

[转帖]Linux性能分析:理解系统平均负载

Linux系统中,平均负载是指单位时间内,处于可运行状态和不可中断状态的进程数。它不仅包括了正在使用CPU的进程,也包括处于不可打断的睡眠状态的进程—它们是在等待其它系统资源如磁盘 I/O 等的进程。而CPU使用率,是单位时间内CPU繁忙情况的统计,跟平均负载并不一定完全对应。 有诸多方式监测系统平

[转帖]Linux使用Stress-ng测试CPU、内存、磁盘I/O满载情况教程与范例

https://www.xiaoyuanjiu.com/108301.html 介绍如何在 Linux 系统上使用 stress-ng 负载测试工具,产生 CPU、内存等资源满载的状况。 stress-ng stress-ng 与旧的 stress 都可以用来产生系统负载,但新的 stress-ng