%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的子进程)web
具备最高优先级的程序,其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值会影响到进程的优先级变化ide
%system
与%user类似,%system表示CPU花了多少比例的时间在内核空间运行
分配内存、IO操做、建立子进程……都是内核操做。这也代表,当IO操做频繁时,System参数会很高
%iowait
在计算机中,读写磁盘的操做远比CPU运行的速度要慢,CPU负载处理数据,而数据通常在磁盘上须要读到内存中才能处理
当CPU发起读写操做后,须要等着磁盘驱动器将数据读入内存,从而致使CPU在等待的这一段时间内无事可作
CPU处于这种等待状态的时间由Wait参数来衡量
%idle
CPU处于空闲状态时间比例
通常而言,%idel + %user + %nice 约等于100%ui