• Linux 性能优化笔记 --CPU总结


    man proc/man pidstat/...

    上下文切换:

    • 所谓自愿上下文切换,是指进程无法获取所需资源,导致的上下文切换。比如说, I/O、内存等系统资源不足时,就会发生自愿上下文切换。

    • 而非自愿上下文切换,则是指进程由于时间片已到等原因,被系统强制调度,进而发生的上下文切换。比如说,大量进程都在争抢 CPU 时,就容易发生非自愿上下文切换。

    CPU使用率:

    • user(通常缩写为 us),代表用户态 CPU 时间。注意,它不包括下面的 nice 时间,但包括了 guest 时间。

    • nice(通常缩写为 ni),代表低优先级用户态 CPU 时间,也就是进程的 nice 值被调整为 1-19 之间时的 CPU 时间。这里注意,nice 可取值范围是 -20 到 19,数值越大,优先级反而越低。

    • system(通常缩写为sys),代表内核态 CPU 时间。

    • idle(通常缩写为id),代表空闲时间。注意,它不包括等待 I/O 的时间(iowait)。

    • iowait(通常缩写为 wa),代表等待 I/O 的 CPU 时间。

    • irq(通常缩写为 hi),代表处理硬中断的 CPU 时间。

    • softirq(通常缩写为 si),代表处理软中断的 CPU 时间。

    • steal(通常缩写为 st),代表当系统运行在虚拟机中的时候,被其他虚拟机占用的 CPU 时间。

    • guest(通常缩写为 guest),代表通过虚拟化运行其他操作系统的时间,也就是运行虚拟机的 CPU 时间。

    • guest_nice(通常缩写为 gnice),代表以低优先级运行虚拟机的时间。

    进程状态:

    • R 是Running或者Runable的缩写,表示在CPU的就绪队列中,正在运行或者等待运行。
    • D 是Disk Sleep的缩写,不可中断睡眠状态(Uninterruptible Sleep),一般表示进程正在和硬件交互,并且交互过程不可以被其他进程或者中断打断。
    • Z 是Zombie的缩写,表示僵尸进程,也就是进程实际上结束了,但是父进程还没回收它的资源(如进程的描述符,PID等)。
    • S 是Interruptible Sleep的缩写,可中断睡眠状态,表示进程因为等待某个事件而被系统挂起,当进程等待的事件发生时,它会被唤醒进入R状态。
    • I 是Idle的缩写,空闲状态,用在不可中断睡眠的内核线程上。D表示硬件交互导致的不可中断进程,I表示并没有任何负载。D状态进程会导致平均负载升高,I状态进程不会。
    • 第一个是T或者t,是Stopped或者Traced的缩写,表示进程处于暂停或者跟踪状态。
    • X 是Dead的缩写,表示进程已经消亡,所以不会在top或者ps中看见。

    如果状态是Ss+:后面的s代表这个进程是一个会话的领导进程,+ 表示前台进程组。进程组和会话用来管理一组相互关联的进程。

    • 进程组:表示一组相互关联的进程,比如每个子进程都是父进程所在组的成员。
    • 会话:指共享同一个控制终端的一个或多个进程组。

  • 相关阅读:
    Spring boot 整合mybatis
    验证码图片生成器
    Guava
    高并发环境下生成唯一流水号
    BP神经网络
    c# 利用反射获取属性名和值
    第一天开博,试试发个贴
    更改UISearchBar系统背景色方法
    IOS开发之UISearchBar应用
    textview根据文字行数自动变化大小
  • 原文地址:https://www.cnblogs.com/tiandz/p/12735729.html
Copyright © 2020-2023  润新知