CPU状态信息us,sy,ni,id,wa,hi,si,st含义
转自:http://blog.csdn.net/sasoritattoo/article/details/9318893
转自:http://fishermen.iteye.com/blog/1995862
使用系统命令top即可看到如下类似信息:
Cpu(s): 0.0%us, 0.5%sy, 0.0%ni, 99.5%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
但不知什么含义?google之
I try to explain these:
us: is meaning of "user CPU time"
sy: is meaning of "system CPU time"
ni: is meaning of" nice CPU time"
id: is meaning of "idle"
wa: is meaning of "iowait"
hi:is meaning of "hardware irq"
si : is meaning of "software irq"
st : is meaning of "steal time" 中文翻译为: us 用户空间占用CPU百分比
sy 内核空间占用CPU百分比
ni 用户进程空间内改变过优先级的进程占用CPU百分比
id 空闲CPU百分比
wa 等待输入输出的CPU时间百分比
hi 硬件中断
si 软件中断
st: 实时 ===========================================================================================================================================
对Linux 网卡软中断做负载均衡
测试中发现服务器整体负载较低,但有cpu负载特别高,其中一个cpu几乎一半是软中断si,特别忙,而还有的cpu特别空闲。
- top - 16:12:08 up 31 days, 3:52, 1 user, load average: <span style="color: #ff0000;">0.11, 0.11, 0.06</span>
- Tasks: 242 total, 4 running, 238 sleeping, 0 stopped, 0 zombie
- Cpu0 : 12.3%us, 14.6%sy, 0.0%ni, 70.2%id, 0.0%wa, 0.0%hi, 3.0%si, 0.0%st
- Cpu1 : 21.6%us, 22.9%sy, 0.0%ni, 7.3%id, 0.0%wa, 0.0%hi, <span style="color: #ff0000;">48.2%si</span>, 0.0%st
- Cpu2 : 16.5%us, 19.1%sy, 0.0%ni, 43.9%id, 0.0%wa, 0.0%hi, 20.5%si, 0.0%st
- Cpu3 : 2.3%us, 2.6%sy, 0.0%ni, 94.1%id, 0.0%wa, 0.0%hi, 1.0%si, 0.0%st
- Cpu4 : 0.3%us, 0.3%sy, 0.0%ni, 99.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
先用mpstat -I SUM -P ALL 5 来看一下每个cpu的终端情况,发现cpu1和cpu2处理的中断确实很多,是什么dd在使用这两个cpu做中断呢?
- # mpstat -I SUM -P ALL 5
- Linux 2.6.32-220.13.1.el6.x86_64 (talus186) 12/26/2013 _x86_64_ (12 CPU)
- 04:15:18 PM CPU intr/s
- 04:15:23 PM all 62422.60
- 04:15:23 PM 0 0.00
- 04:15:23 PM 1 21566.20
- 04:15:23 PM 2 12123.00
- 04:15:23 PM 3 0.00
- 04:15:23 PM 4 1.00
使用 cat /proc/interrupts 查看中断情况,间隔几秒后再次cat /proc/interrupts,然后比较对应值的变化,发现eth0-1、eth0-2等使用cpu1、cpu2做中断,这两个对应的中断号分别是95,96...
- 95: 33 325897741 0 30997484 72 0 93968731 0 0 0 426 864 IR-PCI-MSI-edge eth0-1
- 96: 50 206 66609822 117 0 0 0 0 0 0 0 24437509 IR-PCI-MSI-edge eth0-2
注:网卡(包括磁盘等外设)需要cpu服务时,都会抛出一个中断,中断告诉cpu发生了什么事情,cpu就要停止目前的工作来处理这个中断。比如当网卡收到包时,假如cpu正在执行某个应用进程处理程序,此刻就会被网卡中断所打断执行中断处理程序。每个外设对应的中断处理程序自然是不同的,因此为了进行区分,防止多个设备发出相同的中断请求,系统中的每个设备都被分配了一个独一无二的IRQ(Interupt Request),上面95、96就是所谓的IRQ,如果网卡有多队列,每个队列可以对应一个IRQ(参考net)。
在使用 cat /proc/irq/95/smp_affinity cat /proc/irq/smp_affinity 等看出网卡的队列都在使用cpu1 和cpu2
- cat /proc/irq/95/smp_affinity
- 00000002
- cat /proc/irq/96/smp_affinity
- 00000004
好了,把空闲的cpu用上来分摊网卡中断
- echo 08 > /proc/irq/97/ smp_affinity
- echo 10 > /proc/irq/98/ smp_affinity
- ...
再进行测试,发现cpu消耗整体还不够均衡,TOP下使用f,然后再加j,发现应用进程使用的cpu与网卡中断使用的cpu重合,再把单线程应用进程绑定到其他CPU,终于均衡下来。
最后,网卡软中断绑定cpu需要满足几个条件:1 linux内核版本必须在2.4+; 2 网卡对应的中断控制器必须是IO-APIC芯片,且需启用IO-APIC;3 部分CPU可能不支持。
CPU状态信息us,sy,ni,id,wa,hi,si,st含义的更多相关文章
- Linux CPU负载状态:%us/%sy/%ni/%id/%wa/%hi/%si/%st含义
原文 Linux CPU负载状态:%us/%sy/%ni/%id/%wa/%hi/%si/%st含义 缙哥哥发现用了雅黑的探针,在 Linux 的 CPU 状态信息中发现,有“%us.%sy.%ni. ...
- CPU状态信息us,sy等含义
目录 一.概述概述 二.详解 us和sy ni id wa hi和si st 三.总结 一.概述概述 比如一秒内有100个cpu时间片,这个cpu时间片就是cpu工作的最小单位.那么这100个cpu时 ...
- top命令查看CPU状态信息:%us、%sy、%ni、%id、%wa、%hi、%si、%st 表示的是什么意思
Linux CPU负载状态:%us/%sy/%ni/%id/%wa/%hi/%si/%st含义 2018-08-26 分类:Linux 评论(0) 缙哥哥发现用了雅黑的探针,在 Linux 的 C ...
- 统计Linux下的CPU状态信息
def cpu(): all_cpus=[] with open('e:/cpu.txt') as f: core={} for line in f.readlines(): ab=line.spli ...
- linux系统常用监控系统状态信息命令
[root@bogon ~]# uptime #平均负载 23:33:21 up 2:09, 3 users, load average: 0.02, 0.05, 0.05 [root@bogon ~ ...
- aix 查看内存,CPU 配置信息
内存lsattr -El mem0cpu lsdev -C |grep procCPU的信息lsattr -El proc0 #bootinfo -r查看物理内存 使用命令# lsdev ...
- top命令之你不一定懂的cpu显示信息
%st(Steal time) 是当 hypervisor 服务另一个虚拟处理器的时候,虚拟 CPU 等待实际 CPU 的时间的百分比. ------------------------------- ...
- CentOS命令top下你不一定懂的cpu显示信息
在使用top命令的时候会看到这么一行: 里面的各个值分别是什么意思呢? 今天被问到这个问题,发现答的不是很清楚.果然啊,天天用最多的top命令都还没摸透...惭愧...于是就查了些资料: 官方解释 C ...
- Android 获得本地IP地址、外网IP地址、本设备网络状态信息、本地Mac地址
本地内网IP和外网IP的区别: 根据我的经验一台电脑需要两个ip才可以上网,一个是本地的内网ip 一个是外网的ip 本地的ip 一般是192.168.1.2这种样子 只要在不同的路由器上可以重复 外 ...
随机推荐
- JVM内存分配策略
在 JVM内存垃圾回收方法 中,我们已经详细讨论了内存回收,但是,我们程序中生成的对象是如何进行分配的呢?以下所述针对的是HotSpot虚拟机. 1.Java堆结构 以HotSpot为例,如下图: H ...
- phpstorm 使用技巧
专题1 专题2 专题3 专题4 快捷键
- 【mysql函数】FIND_IN_SET函数用法
当你的数据存储为一下格式时,想查出带有某个id的所有数据时,FIND_IN_SET这个函数可以帮到你. ',C_BranchId)
- 搭建Apache Web服务器
1.下载Apache服务器的安装包 地址:http://httpd.apache.org/download.cgi 从http://archive.apache.org/dist/httpd/bina ...
- HTTP协议 请求篇
http请求有三部分组成,分别是:请求行.消息报头.请求正文. 1.请求行是以一个方法符号开头,以空格分开,后面跟着请求的URL和协议的版本,格式如下 : Method Request-URL HTT ...
- java模拟post方式提交表单实现图片上传【转】
转自:http://blog.csdn.net/5iasp/article/details/8669644 模拟表单html如下: <form action="up_result ...
- SQL分组多列统计(GROUP BY后按条件分列统计)
as tjsl from fyxx group by zt,whbmbh end) as ybhsl from fyxx group by whbmbh 下面是摘自别人的博客 最近遇到一个问题,需要对 ...
- 域名管理系统DNS
域名系统DNS,将域名转化为ip地址.域名到ip地址解析过程是以这种方式进行的,当某一程序需要把主机名解析为IP地址时,该应用进程就调用解析程序(本地程序),这时候该进程就变成了DNS的一个客户,将待 ...
- java大并发数据保存方案
做了几年.net,如今终于要做java了. 需求: 线下终端会定时上传gps位置到服务端,服务端收到数据保存到mysql数据库,当线下终端过多时,问题出现了,首当其冲的是数据库连接池经常会崩溃,单个t ...
- 使用ROW_NUMBER()+临时表+While 实现表遍历
declare @table table(dlid int,RowNum int)insert into @table select dlid,ROW_NUMBER() over(order by d ...