《Linux 性能及调优指南》1.6 了解Linux性能指标
版权所有,尊重他人劳动成果,转载时请注明作者和原始出处及本声明。
原文名称:《Linux Performance and Tuning Guidelines》
原文地址:http://www.redbooks.ibm.com/abstracts/redp4285.html
-------------------------------------------------------------------------------------------
1.6.1 处理器性能指标
1.6.2 内存性能指标
1.6.3 网络性能指标
1.6.4 块设备性能指标
-------------------------------------------------------------------------------------------
在我们了解Linux操作系统中各种调优参数和性能度量工具前,有必要讨论一下关于系统性能的各种可用指标和他们的意义。
由于Linux是一个开源的操作系统,所以有很多性能度量工具可以使用。你最后选择哪个工具取决于你的个人喜好和数据量以及你需要的详细程度。
虽然有很多工具可以使用,但所有的性能度量工具都测量相同的指标,所以理解这些指标能让你使用任何你所碰到工具。
为此我们只涉及了最重要的一些指标。有许多更详细的指标可以用来做深入分析,但这些已超出了本文的范畴。
1.6.1 处理器性能指标
下面是关于处理器的性能指标。
▶ CPU使用率【CPU Utilization】
这可能是最直接的指标了,它表示每个处理器的整体使用率。
在IBM System x架构中,如果在持续一段时间里CPU使用率超过80%,就可能预示着CPU出现了瓶颈。
▶ 用户时间【User Time】
表示用户进程所花费的CPU百分比,包括Nice时间。在用户时间值很高的情况下,表明系统正在执行实际的工作。
▶ 系统时间【System Time】
表示内核操作所花费的CPU百分比,包括硬中断【IRQ】和软中断[SoftIRQ]。
系统时间值持续很高表明网络或驱动器堆栈可能存在瓶颈。通常系统只花费很少时间在内核时间上。
▶ 等待【Waiting】
花费在等待I/O操作所需的CPU时间总和,与阻塞【Blocked】值相似,
系统不应该花费过多的时间等待I/O操作;否则你应该检查一下I/O子系统各方面性能。
▶ 空闲时间【Idle time】
表示CPU空闲的百分比。
▶ Nice时间【Nice time】
表示花费在执行re-nicing(改变进程的执行顺序和优先级)进程的CPU百分比。
▶ 平均负载【Load average】
平均负载不是百分比,它是下面数值之和的平均值:
– 队列中等待执行的进程数
– 等待不可中断任务执行完成的进程数。
也就是TASK_RUNNING和TASK_UNINTERRUPTIBLE之和的平均值。
如果请求CPU时间的进程发生阻塞(),平均负载将会上升。
相反如果每个进程都可以立即执行不会错过CPU周期,平均负载就会降低。
▶ 可运行进程【Runable processes】
这个值表示准备执行的进程。这个值在持续一段时间按内应该不会超过物理处理器数量的10倍,否则CPU可能存在瓶颈。
▶ 堵塞【Blocked】
在等待I/O操作完成前,进程是不能继续执行。进程堵塞可能意味着I/O存在瓶颈。
▶ 上下文交换【Context switch】
系统中进程之间进行交换的数量。上下文交换次数过多与大量的中断有关,这可能暗示着驱动器或应用程序存在问题。
通常是不需要上下文交换的,因为每次只需要刷新CPU缓存,但有些上下文交换是必要的。参见1.1.5“上下文交换”。
▶ 中断【Interrupts】
中断数量中包括硬中断和软中断。硬中断会对系统性能产生非常不利的影响。高中断值表明软件存在瓶颈,可能是内核或者驱动。
请记住中断值中也包括CPU始终所导致的中断。参见1.1.6“中断处理”。
1.6.2 内存性能指标
下面是关于内存的性能指标。
▶ 空闲内存【Free memory】
与其它操作系统相比,不必过分在意空闲内存值。正如1.2.2“虚拟内存管理”所述,
Linux内核将大量未使用的内存分配作为文件系统缓存使用,所以在已用内存扣除用于缓冲和缓存的数量得到实际空闲内存。
▶ 交换空间使用【Swap usage】
这个值表示已使用的交换空间数量。正如1.2.2“虚拟内存管理”所述,交换空间的使用只能告诉你Linux在管理内存上是多么有效。
要想确定内存是否存在瓶颈,Swap In/Out的数量才以为着用来。
如果Swap In/Out长时间保持在每秒钟超过200到300页以上可能表示内存存在瓶颈。
▶ 缓冲与缓存【Buffer and cache】
被用来作为文件系统和块设备的缓存
▶ Slabs
表示内核所使用的内存。注意内核的页是不能被交换到硬盘上的。
▶ 活动与非活动内存【Active versus inactive memory】
提供关于活动内存的相关信息。非活动内存会作为候选被kswapd交换到硬盘。参见“页帧回收”
1.6.3 网络性能指标
下面是关于网络的性能指标。
▶ 已收到和已传送的封包【Packets received and sent】
这个指标能告诉你特定网卡已收到和已发送的封包数量
▶ 已收到和已传送的字节【Bytes received and sent】
这个值表示特定网卡已收到和已发送的字节数量。
▶ 每秒钟冲突数【Collisions per second】
这个值提供发生在指定网卡的网络冲突的数量。持续出现冲突值表示在网络架构中存在瓶颈而不是服务器。
在大多数正确配置网络中,冲突时非常罕见的,除非网络架构是由hub组成的。
▶ 丢弃的封包【Packets dropped】
被内核丢弃的封包数,原因可能是防火墙配置问题或缺乏网络缓冲
▶ Overruns
Overruns表示超出网络接口缓冲的次数。这个指标可以与丢弃的封包数量配合来确定瓶颈是出自网络缓冲还是网络队列长度。
▶ 错误【Errors】
被标示为失败的帧的数量。这经常是由于网络不匹配或部分网线损坏引起的。对于铜缆千兆网部分网线损坏会产生严重的性能问题。
1.6.4 块设备性能指标
下面是关于块设备的性能指标。
▶ IO等待【Iowait】
CPU在等待I/O操作发生所花费的时间。如果这个值持续很高,很可能表示I/O存在瓶颈。
▶ 队列平均长度【Average queue length】
I/O请求的数量。通常硬盘队列值在2到3为最佳;过高可能表示硬盘I/O存在瓶颈。
▶ 平均等待时间【Average wait】
I/O请求服务所花费的平均时间。等待时间包括实际I/O操作的时间和在I/O队列中等待的时间。单位为毫秒ms。
▶ 每秒钟传输的数量【Transfers per second】
表示每秒钟执行了多少次I/O操作(包括读取和写入)。
与每秒钟传输字节数【kBytes per second】结合可以帮助确定系统平均传输大小。平均传输大小通常要与硬盘子系统的条带大小一致。
▶ 每秒钟读写块的数量【Blocks read/write per second】
这个指标表示每秒钟读写块的数量,在2.6内核中块的大小为1024字节,早期的内核可以有不同的块大小,从512字节到4KB。
▶ 每秒钟读写字节的数量【Kilobytes per second read/write】
表示块设备读写的实际数据的数量,单位为KB。
《Linux 性能及调优指南》1.6 了解Linux性能指标的更多相关文章
- 《Linux性能及调优指南》1.3 Linux文件系统
翻译:飞哥 (http://hi.baidu.com/imlidapeng) 版权所有,尊重他人劳动成果,转载时请注明作者和原始出处及本声明. 原文名称:<Linux Performance a ...
- Linux性能及调优指南1.2之Linux内存架构
本文为IBM RedBook的Linux Performanceand Tuning Guidelines的1.2节的翻译原文地址:http://www.redbooks.ibm.com/redpap ...
- 《Linux 性能及调优指南》1.1 Linux进程管理
https://blog.csdn.net/ljianhui/article/details/46718835 本文为IBM RedBook的Linux Performanceand Tuning G ...
- 《Linux 性能及调优指南》写在后面的话
感谢飞哥的翻译. 目前飞哥 (http://hi.baidu.com/imlidapeng)的网址已经不能访问了. <Linux 性能及调优指南>这本书的原文地址:http://www.r ...
- 《linux性能及调优指南》 3.5 网络瓶颈
3.5 Network bottlenecks A performance problem in the network subsystem can be the cause of many prob ...
- 《Linux 性能及调优指南》2.3 监控工具
翻译:飞哥 (http://hi.baidu.com/imlidapeng) 版权所有,尊重他人劳动成果,转载时请注明作者和原始出处及本声明. 原文名称:<Linux Performance a ...
- 《Linux 性能及调优指南》1.5 网络子系统
翻译:飞哥 (http://hi.baidu.com/imlidapeng) 版权所有,尊重他人劳动成果,转载时请注明作者和原始出处及本声明. 原文名称:<Linux Performance a ...
- 《Linux 性能及调优指南》1.4 硬盘I/O子系统
翻译:飞哥 (http://hi.baidu.com/imlidapeng) 版权所有,尊重他人劳动成果,转载时请注明作者和原始出处及本声明. 原文名称:<Linux Performance a ...
- 《Linux 性能及调优指南》3.1 确认瓶颈
翻译:飞哥 ( http://hi.baidu.com/imlidapeng ) 版权所有,尊重他人劳动成果,转载时请注明作者和原始出处及本声明. 原文名称:<Linux Performance ...
随机推荐
- 在浏览器中输入url回车之后会发生什么
在浏览器中输入URL之后,浏览器会经历以下5个步骤: 1.解析URL 2.DNS域名解析 3.浏览器与网站建立TCP链接(三次握手) 4.请求和传输数据 5.浏览器渲染页面 一.解析URL 什么是ur ...
- PyCharm 设置Python 文件头部模板
1. 菜单栏-> File -> Settings -> Editor -> File and Code Templates ->Python Script 2.配置头文 ...
- Jmeter--报错 WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5.
今天要用Jmeter测试服务器性能,发现GUI界面总是有warning提示: WARNING: Could not open/create prefs root node Software\JavaS ...
- linux 安装多个版本JDK,指定tomcat的jdk版本
JDK的下载可以直接到官网下载,这里不再介绍 一.安装JDK 7 vi /etc/profile #set java environmentexport JAVA_HOME=/usr/java/jdk ...
- kafka_2.11-0.8.2.1生产者producer的Java实现
转载自:http://blog.csdn.net/ch717828/article/details/50818261 1. 开启Kafka Consumer 首先选择集群的一台机器,打开kafka c ...
- Hystrix 使用入门
在很多系统架构中都需要考虑横向扩.单点故障等问题,对于一个庞大的应用集群,部分服务或者机器出现问题不可避免,在出现故障时,如何减少故障的影响.保障集群的高可用,成为一个重要的工作,Hystrix 是一 ...
- wifi实现串口透传
环境: 串口服务器Ip:172.16.1.11 串口客户机ip:172.16.1.12 一.网络连接示意图 二.串口服务器的配置 参考:ser2net的编译及测试 三.串口客户端的配置 实际上这是一个 ...
- apache配置https协议
安装openssl有两种方式,第一种直接下载安装包,装上就可运行:第二种可以自己下载源码,自己编译.下面对两种方式均进行详细描述. 一.下载和安装openss 方法一:直接使用openssl安装包 W ...
- Thinkphp 关联模型
1.定义关联模型 2.使用关联模型 D('BlogRelation')->relation(true)->add($data);
- Docker Dockerfile 一
1.概述 创建Docker镜像的方式有三种 docker commit命令:由容器生成镜像: Dockerfile文件+docker build命令: 从本地文件系统导入:OpenVZ的模板. 关于这 ...