点击此处浏览总目录

CPU参数指标说明

%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%

posted @ 2019-11-04 15:07  立业的博客  阅读(1184)  评论(0编辑  收藏  举报