Linux系统性能指标.pdfVIP

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux系统性能指标 Linux内核提供的/proc/ ⽬录所提供的信息能够基本满⾜我们对当前主机性能指标的获取需求。现有⽹络 上流传很多版本的对/proc/下⽂件各字段解释的blog ,存在很多错误。本⽂结合最权威linux内核官⽅⽂档 Linux Programer ’s Manual解释/proc/stat各字段的含义,原⽂档请参考: 。 1、linux性能数据来源 1.1、cpu实时性能数据 /proc/stat 通过/proc/stat 中可以获取系统的实时的统计信息,包括统计cpu在各个阶段的执⾏时间,软硬件中断的次 数,cpu上下⽂切换次数,以及进程信息,其内容参见下图 1、cpu The amount of time, measured in units of USER_HZ (1/100ths of a second on most architectures, use sysconf(_SC_CLK_TCK) to obtain the right value), that the system spent in various states: 解释: ⼤致是说这些数据都是以clock_tick为单位记录的,这⾥的clock_tick在绝⼤多数机器上是1/100秒即 10ms。对于特定的机器可以通过sysconf(_SC_CLK_TCK)函数来获得clock_tick(ps: 这个函数属于linux内 核中unistd.h⽂件中提供的⽅法,运⾏前需包含该库⽂件) 纠错: 部分博客将clock_tick与jif fies相混淆,通过cat /boot/config-`uname -r` | grep ^CONFIG_HZ=命令获取当前 机器的HZ ,来将这些值换算成秒,我测试了下结果和sysconf(_SC_CLK_TCK)结果不⼀样,在我的机器 上前者得到的HZ值为1000⽽后者为100。 以下是CPU的各个字段的解释: user (1) Time spent in user mode. 解释:CPU处于⽤户态的时间 纠错:有⼈把该字段解释成CPU处于⽤户态且不包含nice为负的线程时间,这是不对的,原版英⽂并没 有该附加解释。 nice (2) Time spent in user mode with low priority (nice). 解释:CPU⽤户态处于低优先级的进程执⾏时间。 纠错:很多⼈把它解释成nice为负的进程执⾏时间。原版解释说得很清楚是低优先级,⽽nice值越⼩意味 着其优先级越⼤,⼀般的进程nice 均为0 ,可以通过命令: renice -n nice -p pid 切换进程的nice值。本⼈已测试当存在运⾏线程nice值为正的时候,该字段值会上升,如果存在运⾏线程 的nice值为负,该字段值不变。这更能说明部分⼈的解释是错误的。另外我还发现若将当前的nice值置为 正后,该⽂件中的user字段不再⼤范围改变(不再成百的涨),说明此时低优先级的程序执⾏时间未记 录到user字段中。这⾥我们将user和nice字段的值重新定义: User :统计cpu执⾏⾼优先级⽤户程序的时间(nice=0 ) Nice: 统计cpu执⾏低优先级⽤户程序的时间(nice0 ) system (3) Time spent in system mode. 解释:CPU处于核⼼态的时间 idle (4) Time spent in the idle task. This value should be USER_HZ times the second entry in the /proc/uptime pseudo-file. 解释:这段话可直译为系统处于idle进程的时间,linux提供⼀种特殊的进程成为idle进程,其pid为0。我 们可以认为处于idle进程的时间即为系统处于空闲的时间。接下来还说这个值应该等于USER_HZ乘 以/proc/uptime 中第⼆个字段的值。本⼈也通过这种⽅法测得cat /boot/config-`uname -r` | grep ^CONFIG_HZ=获取的HZ值不准确。 iowait (since Linux 2.5.41) (5) Time waiting for I/O to complete. 解释:CPU处于I/O等待的时间,没啥好说的 irq (since Linux 2.6.0-test4) (6) Time servicing interrupts. 解释:CPU在中断服务程序的时间开销,即⽤于处理中断的时间,没啥异议。 softirq (s

您可能关注的文档

文档评论(0)

166****9181 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档