免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 15737 | 回复: 61
打印 上一主题 下一主题

[进程管理] [每周一议]linux内核如何统计负载 [复制链接]

论坛徽章:
6
金牛座
日期:2013-10-08 10:19:10技术图书徽章
日期:2013-10-14 16:24:09CU十二周年纪念徽章
日期:2013-10-24 15:41:34狮子座
日期:2013-11-24 19:26:19未羊
日期:2014-01-23 15:50:002015年亚洲杯之阿联酋
日期:2015-05-09 14:36:15
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-01-21 10:05 |只看该作者 |正序浏览
大家在调试程序的时候,经常会用到cpu的使用率和负载,那么大家知道如何获取系统负载吗?这些数字的真正含义是什么?内核是怎么计算负载的吗?内核的计算方法是否合理?你能发现内核统计的bug吗?

本期话题:
             说说如何查看linux下的系统负载
             说明一下linux负载数字的具体含义
             讲述任何一个内核版本的系统负载计算方法
             吐槽一下内核系统负载计算的bug


这里我先抛砖引玉,说一下如何查看linux系统的负载。
大家可以通过cat /proc/loadavg查看系统的负载情况。你能准确的说出各个字段的含义吗?
#cat /proc/loadavg
15.96 3.32 1.07 201/678 5744

本期奖励:
1、最精彩的讨论,将获得《ARM嵌入式Linux系统开发详解》图书一本
2、其余参与者,获得20积分的奖励

求职 : 系统工程师等
论坛徽章:
5
技术图书徽章
日期:2014-04-19 22:01:05天蝎座
日期:2014-05-09 13:49:28双子座
日期:2014-06-16 15:08:042015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:55:28
62 [报告]
发表于 2014-02-17 09:33 |只看该作者
    使用/proc/$(pid)/stat 计算的进程cpu使用率很粗糙,因为在进程的stat中的tick数是将运行在本进程上下文的软中断和中断也计算在内的,如果系统软中断使用cpu较多的话,进程统计就会不准,top命令的cpu输出就会使人误解。

论坛徽章:
15
射手座
日期:2014-02-26 13:45:082015年迎新春徽章
日期:2015-03-04 09:54:452015年辞旧岁徽章
日期:2015-03-03 16:54:15羊年新春福章
日期:2015-02-26 08:47:552015年亚洲杯之卡塔尔
日期:2015-02-03 08:33:45射手座
日期:2014-12-31 08:36:51水瓶座
日期:2014-06-04 08:33:52天蝎座
日期:2014-05-14 14:30:41天秤座
日期:2014-04-21 08:37:08处女座
日期:2014-04-18 16:57:05戌狗
日期:2014-04-04 12:21:33技术图书徽章
日期:2014-03-25 09:00:29
61 [报告]
发表于 2014-02-17 08:49 |只看该作者
longerzone 发表于 2013-03-05 20:49
楼主大人……我最近刚好被这个弄迷糊了! 到现在还有点纠结!

我本来想写个程序检测CPU利用率 ...

这样统计应该是不够准确的~涉及上下文切换及调度能因素的影响。
top显示的CPU占用率的准确性也很差,由于是基于采样(时钟中断)进行统计的,在中断频繁或NoHz情况下尤其不准,更无法统计短时间运行的任务。
见过的精确统计方法,是在调度的时候进行时间点统计,在进程换入和换出的时候采样,应该能得到较准确的CPU占用信息。

论坛徽章:
1
操作系统版块每日发帖之星
日期:2016-02-11 06:20:00
60 [报告]
发表于 2014-02-17 02:33 |只看该作者
回复 22# a7pufap

提高系统的可使用性,没有过渡的管理状态如进程状态指示标示

   

论坛徽章:
1
操作系统版块每日发帖之星
日期:2016-02-11 06:20:00
59 [报告]
发表于 2014-02-17 02:30 |只看该作者
回复 25# a7pufap


    Linux 进程系统不够LJ

论坛徽章:
3
CU大牛徽章
日期:2013-04-17 11:48:26CU大牛徽章
日期:2013-04-17 11:48:40CU大牛徽章
日期:2013-04-17 11:48:45
58 [报告]
发表于 2013-03-05 20:49 |只看该作者
  楼主大人……我最近刚好被这个弄迷糊了! 到现在还有点纠结!

我本来想写个程序检测CPU利用率,原理是这样:我们给程序设置了极低的优先级,如果有任何计算任务都会打断它,而如果没有计算任务,我们的程序就会占用cpu时间,所以我们的程序的运行时间基本上可以算作CPU的闲暇时间。
所以我们计算总的CPU利用率的方法就是  : CPU利用率 = 1 - 程序占用cpu时间/程序总的运行时间。

但是我发现使用这个方法测出来的CPU利用率显示和 Top 命令查询的有点出入,求解!!!

还有,下面是我总结写的小博客,求楼主大人指教 http://blog.csdn.net/longerzone/article/details/8631183

论坛徽章:
0
57 [报告]
发表于 2013-03-05 14:59 |只看该作者
现在更关心的是如何用阿~

论坛徽章:
0
56 [报告]
发表于 2013-02-17 21:25 |只看该作者
我在16G内存的红帽子上打开一个5G的文件,速度很快,在2G内存上打开就很慢了,说明负载统计跟系统硬件也有关系

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
55 [报告]
发表于 2013-02-02 00:17 |只看该作者
回复 54# T-Bagwell
T总,你不是寒碜我呢吧


   

论坛徽章:
5
摩羯座
日期:2014-07-22 09:03:552015元宵节徽章
日期:2015-03-06 15:50:392015亚冠之大阪钢巴
日期:2015-06-12 16:01:352015年中国系统架构师大会
日期:2015-06-29 16:11:2815-16赛季CBA联赛之四川
日期:2018-12-17 14:10:21
54 [报告]
发表于 2013-02-01 14:35 |只看该作者
Godbach 发表于 2013-02-01 14:16
回复 1# 瀚海书香
我记得负载这块,内核还有文档介绍呢。不过不知道是否准确

版主,推荐一下吧
  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP