%user
  %user表示CPU一共花了多少比例的时间运行在用户态空间或者说是用户进程(running user space processes)
  典型的用户态空间程序有:Shells、数据库、web服务器……

%nice
  %nice表示改变过优先级的进程所占用CPU的百分比

  当使用top或者ps命令查看系统进程信息时,输出结果中会有PRI/PR、NI、%ni/%nice这三种指标值,具体含义如下:

    PRI: 进程优先权,表示该进程可被执行的优先级,值越小,优先级越高
    NI: 进程Nice值,代表该进程优先值,表示该进程可被执行的优先级的修正数值,范围为[-20,19](不同系统的值范围是不一样的)
      值为0则表示不会调整该进程的优先级

  进程的PRI值越小,则该线程就会越快被执行,但优先级并非固定不变的,
  每个进程在其计划执行时,都会被赋予一个nice值,这样系统就可以根据资源消耗情况,主动干预进程的优先级值
  通过nice值调整,即PRI(new)=PRI(old)+nice,这样PRI(new)值会根据nice值的大小而不断变化

  nice值越大(最大值19),则新的PRI值也会增大,该进程的优先级会降低
  nice值越小(最小值-20),则新的PRI值也会减小,该进程的优先级会提高
  如果nice值相同,则进程uid是root的优先权更大
  在通常情况下,子进程会继承父进程的nice值,比如在系统启动的过程中,init进程会被赋予0,其他所有进程继承了这个nice值(因为其他进程都是init的子进程)

  具有最高优先级的程序,其nice值最低,所以在LINUX系统中,值-20使得一项任务变得非常重要
  与之相反,如果任务的nice为+19,则表示它是一个高尚的、无私的任务,允许所有其他任务比自己享有宝贵的CPU时间的更大使用份额
  这也就是nice的名称的来意

  对nice值一个形象比喻,假设在一个CPU轮转中,有2个runnable的进程A和B,如果他们的nice值都为0,假设内核会给他们每人分配1k个cpu时间片
  但是假设进程A的为0,但是B的值为-10,那么此时CPU可能分别给A和B分配1k和1.5k的时间片
  故可以形象的理解为,nice的值影响了内核分配给进程的cpu时间片的多少,时间片越多的进程,其优先级越高,其优先级值(PRI)越低
  %nice,就是改变过优先级的进程的占用CPU的百分比,如上例中就是0.5k/2.5k=1/5=20%

  由此可见,进程nice值和进程优先级不是一个概念,但是进程nice值会影响到进程的优先级变化

%system
  与%user相似,%system表示CPU花了多少比例的时间在内核空间运行
  分配内存、IO操作、创建子进程……都是内核操作。这也表明,当IO操作频繁时,System参数会很高

%iowait
  在计算机中,读写磁盘的操作远比CPU运行的速度要慢,CPU负载处理数据,而数据一般在磁盘上需要读到内存中才能处理
  当CPU发起读写操作后,需要等着磁盘驱动器将数据读入内存,从而导致CPU在等待的这一段时间内无事可做
  CPU处于这种等待状态的时间由Wait参数来衡量

%idle
  CPU处于空闲状态时间比例
  一般而言,%idel + %user + %nice 约等于100%

CPU参数指标说明的更多相关文章

  1. CPU的物理数、核心数、线程数

    最近了解下CPU的参数,主要是对常见的CPU参数指标:物理数.核心数以及线程数做了下了解.增长了点自己的见识,方便自己回忆和分享,记录下来.参考了网上的一些说明并加以整理,形成该随笔.主要参考链接如下 ...

  2. Linux服务器的那些性能参数指标

    Linux服务器的那些性能参数指标 一个基于Linux操作系统的服务器运行的同时,也会表征出各种各样参数信息.通常来说运维人员.系统管理员会对这些数据会极为敏感,但是这些参数对于开发者来说也十分重要, ...

  3. NMON中的各项参数指标

    一.NMON中的各项参数指标: SYS_SUMM:显示当前服务器的总体性能情况 Total System I/OStatistics:Avg tps during an interval:显示采集间隔 ...

  4. jemter聚合报告参数指标

    1.聚合报告指标含义 2.性能指标的名称与含义 1)并发:        所有用户在同一时刻对系统执行操作,一般指做同一件事情或操作.2)在线:        所有用户在一段时间内对系统执行操作.3) ...

  5. 闰秒导致MySQL服务器的CPU sys过高

    今天,有个哥们碰到一个问题,他有一个从库,只要是启动MySQL,CPU使用率就非常高,其中sys占比也比较高,具体可见下图. 注意:他的生产环境是物理机,单个CPU,4个Core. 于是,他抓取了CP ...

  6. 继电器是如何成为CPU的(1)

    继电器是如何成为CPU的(1) ——<穿越计算机的迷雾>整理和总结 究竟是如何设计的电路,具有计算和控制的智力? 这一点也不高深.本系列文章从初中学的最简单的电路图说起,看看能不能从最初的 ...

  7. Linux上如何查看物理CPU个数,核数,线程数

    首先,看看什么是超线程概念 超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高的CPU的 ...

  8. 一个表缺失索引发的CPU资源瓶颈案例

    背景 近几日,公司的应用团队反应业务系统突然变慢了,之前是一直比较正常.后与业务部门沟通了解详情,得知最近生意比较好,同时也在做大的促销活动,使得业务数据处理的量出现较大的增长,最终系统在处理时出现瓶 ...

  9. [原] KVM 虚拟化原理探究(3)— CPU 虚拟化

    KVM 虚拟化原理探究(3)- CPU 虚拟化 标签(空格分隔): KVM [TOC] CPU 虚拟化简介 上一篇文章笼统的介绍了一个虚拟机的诞生过程,从demo中也可以看到,运行一个虚拟机再也不需要 ...

随机推荐

  1. Redhat Linx使用Centos yum源

    一.故障现象: 在安装了Read linux后,使用yum安装软件,出现如下提示:[root@localhost~]# yum install xxxLoaded plugins: product-i ...

  2. 《Web Development with Go》Mangodb查询collection内所有记录

    相当于select * from table; package main import ( "fmt" "log" "time" " ...

  3. 八、VTK安装并运行一个例子

    一.版本 win10 VS2019 VTK8.2.0 其实vtk的安装过程和itk的安装过程很是类似,如果你对itk的安装很是熟悉(也就是我的博客一里面的内容,那么自己就可以安装.) 如果不放心,可以 ...

  4. CountDownLatch(倒计时计数器)使用说明 --并发

    方法说明:   public void countDown()      递减锁存器的计数,如果计数到达零,则释放所有等待的线程.如果当前计数大于零,则将计数减少.如果新的计数为零,出于线程调度目的, ...

  5. Python-类的几种调用方法

    一:实例 二:静态 可以调用类以外的变量,只限于此模块. 三:类方法 可以调用该类中定义的变量进行使用. 直接上代码

  6. Go初学乍练 - 安装以及开发环境搭建

    本文介绍主要以Windows作为开发系统环境 1.下载SDK 官方下载页:https://golang.org/dl/ 官方下载地址: 地址 类型 https://dl.google.com/go/g ...

  7. 解决NuGet下载太慢的问题

    以下载CefSharp.Wpf v57.0.0版本为例: 1.打开NuGet官网:https://www.nuget.org/ 2.输入CefSharp.Wpf,点击查询,如下所示: 3.确认版本正确 ...

  8. Spring3:spring的事务操作

    三.事务操作 1.导包 2. jdbc模板与开源连接池(DBCP与C3P0) 2.1DBCP 2.2C3P0 :: 2.3.抽取配置到属性文件   定义一个属性文件  在Spring的配置文件中引入属 ...

  9. Oracle数据库之第二篇

    /* 多表查询 多个数据库表做连接查询 使用场景: 查询的数据来源为多个表 */ --查询员工信息和员工的部门信息 select * from emp; select * from dept; --使 ...

  10. iOS常用算法之两个有序数组合并, 要求时间复杂度为0(n)

    思路: 常规思路: 先将一个数组作为合并后的数组, 然后遍历第二个数组的每项元素, 一一对比, 直到找到合适的, 就插入进去; 简单思路: 设置数组C, 对比A和B数组的首项元素, 找到最小的, 就放 ...