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%
CPU参数指标说明的更多相关文章
- CPU的物理数、核心数、线程数
最近了解下CPU的参数,主要是对常见的CPU参数指标:物理数.核心数以及线程数做了下了解.增长了点自己的见识,方便自己回忆和分享,记录下来.参考了网上的一些说明并加以整理,形成该随笔.主要参考链接如下 ...
- Linux服务器的那些性能参数指标
Linux服务器的那些性能参数指标 一个基于Linux操作系统的服务器运行的同时,也会表征出各种各样参数信息.通常来说运维人员.系统管理员会对这些数据会极为敏感,但是这些参数对于开发者来说也十分重要, ...
- NMON中的各项参数指标
一.NMON中的各项参数指标: SYS_SUMM:显示当前服务器的总体性能情况 Total System I/OStatistics:Avg tps during an interval:显示采集间隔 ...
- jemter聚合报告参数指标
1.聚合报告指标含义 2.性能指标的名称与含义 1)并发: 所有用户在同一时刻对系统执行操作,一般指做同一件事情或操作.2)在线: 所有用户在一段时间内对系统执行操作.3) ...
- 闰秒导致MySQL服务器的CPU sys过高
今天,有个哥们碰到一个问题,他有一个从库,只要是启动MySQL,CPU使用率就非常高,其中sys占比也比较高,具体可见下图. 注意:他的生产环境是物理机,单个CPU,4个Core. 于是,他抓取了CP ...
- 继电器是如何成为CPU的(1)
继电器是如何成为CPU的(1) ——<穿越计算机的迷雾>整理和总结 究竟是如何设计的电路,具有计算和控制的智力? 这一点也不高深.本系列文章从初中学的最简单的电路图说起,看看能不能从最初的 ...
- Linux上如何查看物理CPU个数,核数,线程数
首先,看看什么是超线程概念 超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高的CPU的 ...
- 一个表缺失索引发的CPU资源瓶颈案例
背景 近几日,公司的应用团队反应业务系统突然变慢了,之前是一直比较正常.后与业务部门沟通了解详情,得知最近生意比较好,同时也在做大的促销活动,使得业务数据处理的量出现较大的增长,最终系统在处理时出现瓶 ...
- [原] KVM 虚拟化原理探究(3)— CPU 虚拟化
KVM 虚拟化原理探究(3)- CPU 虚拟化 标签(空格分隔): KVM [TOC] CPU 虚拟化简介 上一篇文章笼统的介绍了一个虚拟机的诞生过程,从demo中也可以看到,运行一个虚拟机再也不需要 ...
随机推荐
- centos7设置静态ip-修改配置文件方式
修改IP地址为静态地址需要修改配置文件,首先打开配置文件,在控制台输入cd /etc/sysconfig/network-scripts 输入ifconfig,这样就可以看到你的ip地址等信息了. v ...
- mssql sqlserver sql对使用逗号分隔的字符串 转换为数据表的另类方法实现
转自:http://www.maomao365.com/?p=10739 摘要: 下文讲述在sqlserver 对逗号分隔的字符串转换为数据表的另类方法实现,如下所示: 实验环境:sql server ...
- KubeSphere and Friends|12 月 14 日相约北京,不见不散
如今在容器圈提到 Kubernetes,可谓是无人不知无人不晓.KubeSphere 作为一款面向云原生设计的开源项目,目的是在 Kubernetes 之上构建分布式多租户容器管理平台,提供简单易用的 ...
- Mybatis----resultMap类型详解
Mybatis----resultMap类型详解 这篇文章主要给大家介绍了关于Mybatis中强大的resultMap功能的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Mybatis具 ...
- vue使用--vuex快速学习与使用
什么是vuex? Vuex核心概念 Vuex安装与使用 1.安装 2.目录结构与vuex引入 3.store中变量的定义.管理.派生(getter) 4.vuex辅助函数的使用说明 Vuex刷新数据丢 ...
- IT兄弟连 HTML5教程 CSS3揭秘 CSS常见的样式属性和值4
6 鼠标光标属性 在网页中默认的鼠标指针只有两种,一种是最普通的箭头,另一种是当移动到链接上时出现的“小手”.但现在越来越多的网页都使用了CSS鼠标指针技术,当将鼠标移动到链接上时,可以看到多种不同 ...
- python内置函数的使用(一)
迭代器(iterator)和可迭代对象(iterable) 在python中,要实现要个对象可以进行遍历,也就是实现for循环,那么他必须是一个可迭代对象,例如string,tuple,list,di ...
- Java描述设计模式(07):适配器模式
本文源码:GitHub·点这里 || GitEE·点这里 一.适配器模式简介 1.基础概念 适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在 ...
- SpringCloud(八):springcloud-bus消息总线(刷新配置服务)
Bus消息总线: 好了现在我们接着上一篇的随笔,继续来讲.上一篇我们讲到,我们如果要去更新所有微服务的配置,在不重启的情况下去更新配置,只能依靠spring cloud config了,但是,是我们要 ...
- Sql注入之limit注入的学习
0x01 前言 今天听学长们交流漏洞挖掘的经验,提到了Limit注入,借此来学习一下limit注入 0x02 知识介绍 limit LIMIT[位置偏移量,]行数 其中,中括号里面的参数是可选参数,位 ...