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%
最新文章
- day1作业--登录入口
- 【练习】数据移动---导出(EXPDP)
- Vue 过滤器与计算属性
- 深入理解display属性
- GridView----CustomRowCellEdit 使用注意事项
- 构建ASP.NET网站十大必备工具(1)
- LTDFZ
- Python学习_IDLE快捷键以及列表相关杂记
- Understanding Extension Class Loading--官方
- HTML之学习笔记(八)表格
- 剑指offer编程题Java实现——面试题11数值的整数次方
- Let's Encrypt,免费好用的 HTTPS 证书
- 没有JavaScript的基础,我可以学习Angular2吗?
- 浅谈Linux基本命令
- swool配置ssl
- Spring Boot分布式系统实践【扩展1】shiro+redis实现session共享、simplesession反序列化失败的问题定位及反思改进
- securecrt-active
- C++学习笔记50:队列类模板
- duilib中字体font设置
- [development][vim] vim显示空白字符