详解Linux性能指标:处理器、内存、 络和磁盘

概述

一个基于 Linux 操作系统的服务器运行的同时,也会表征出各种各样参数信息。通常来说运维人员、系统管理员会对这些数据会极为敏感,但是这些参数对于开发者来说也十分重要,尤其当你的程序非正常工作的时候,这些蛛丝马迹往往会帮助快速定位跟踪问题。 下面主要 从处理器、内存、 络和磁盘四个方面来介绍下Linux性能指标。


处理器指标

处理器指标如下:

1、CPU利用率

这个可能是最直接的指标,它全面展示了每个处理器的利用率。在IBM Systemx架构 中,如果CPU利用率持续高于80%,就可能遇到了处理器瓶颈。

2、用户时间

表示CPU在用户进程上的时间百分比,包括nice时间。用户时间值高是一个较好的状 态,在这种情况下,系统在处理真正的任务。

3、系统时间

表示CPU花在内核操作上的时间百分比,包括IRQ和softirq时间。持续的高系统时间可以 指出 络和驱动栈的瓶颈。CPU花在内核上的时间越少越好。

4、等待

CPU花在等待I/O操作上的时间总和。类似blocked值,系统不应该把大量时间花在等待 I/O操作上;否则,你应该调查I/O子系统的性能。

5、空闲时间

表示系统处于空闲等待任务的时间比。

6、Nice时间

表示CPU花在re-nicing进程,改变进程执行顺序和优先级上的时间。

7、平均负载

  1. 平均负载不是百分比,是下面的和的滚动平均值:
  2. 在队列中等待被处理的进程数 等待非中断任务完成的进程数
  3. 是TASK_RUNNING和TASK_UNINTERRUPTIBLE的和的平均值。如果进程请求 CPU时间被阻塞(表示CPU没有时间处理它们),平均负载就会升高。另一方面, 如果每个进程直接就能获得CPU时间并且没有CPU周期丢失,负载就会降下来。

8、可运行进程

表示已经准备好要执行的进程。这个值不应该持续超过CPU个数的10倍,否则就是出现 了CPU瓶颈。

9、阻塞的

在等待I/O操作完成的时候,进程不能执行。阻塞进程可以指出你的I/O瓶颈。

10、上下文切换

系统上有大量的切换在线程间发生,在有大量中断和上下文切换发生时,表示驱动或应 用程序出现了问题。一般来说,上下文切换不是好现象,因为CPU缓存需要刷新,但是 有些上下文切换是必要的。

11、中断

中断值包含硬中断和软中断。硬中断对系统性能有更大的影响。高中断值指示了软件瓶 颈,无论是内核还是驱动程序层面的。记住中断值包含CPU时钟引起的中断。

内存指标

如下是内存度量值:

1、空闲内存

和其它操作系统相比,不应该过分担心Linux内存的问题。Linux把大部分没用到的内存作为文件系统缓存,所以计算空闲内存的时候还得加 上已用内存中的缓冲(buffer)和缓存(cache)大小。

2、swap利用率

这个数值表明已经使用的swap的空间。swap使用 率只是表明Linux的内存管理有多么高效。SwapIn/Out才是识别内存瓶颈的手段,长时间 每秒200到300以上的swapin/out次数表明可能出现内存瓶颈。

3、缓冲和缓存

cache被用作文件系统缓存和块设备缓存。

4、Slabs

描述内核的内存使用量。注意,内核页不能page out到磁盘。

5、活动和非活动内存

提供关于系统中活动的内存信息。非活动内存是可能由kswapd守护进程交换到磁盘的候选。


络指标

以下是 络指标:

1、接收和发送的包

这个指标告诉你指定 络接口的接收和发送 络包的数量。

2、接收和发送的字节

这个值是指定 卡的发送和接收的字节数。

3、每秒碰撞

这个值提供了各个 络接口所连接 络的所发生的冲突数量。持续的冲突可能是由于 络基础设施导致的,而不是服务器。在大多数正确配置的 络中,碰撞很少发送,除非 络是由集线器组成的。 丢包 这是被内核丢弃的包的数量,可能是防火墙配置导致的,也可能是由于缺少 络缓冲。

4、过载

过载表示 络接口用光缓冲空间的次数。这个指标应该和丢包联合起来使用,来判断 瓶颈是由 络缓冲还是 络队列长度导致的。

5、错误

被标识为故障的帧数目。这通常是由于 络不匹配或者部分 线损坏导致的。在铜基千兆中,部分损坏 线可能导致显著的 络性能问题。


磁盘设备指标

以下是磁盘设备的相关指标:

1、IO等待

CPU花在等待I/O操作发生上的时间。该值长时间飙高预示着可能出现了I/O瓶颈。

2、平均队列长度

未完成的I/O请求数量。通常,2到3的磁盘队列是很理想的;太高可能表示出现了I/O瓶 颈。 3、平均等待

一个IO请求被服务的平均等待时间,以毫秒计算。等待时间由真实的I/O操作时间和I/O队 列的等待时间组成。

4、每秒传输

表示每秒有多少个I/O操作被执行(读和写)。transferspersecond和kBytespersecond 可以联合使用,来表示系统每秒的平均传输大小。平均传输大小通常应该和所使用的磁 盘子系统的条带大小相匹配。

5、每秒读写块

在内核2.6中,它表示每秒读取和写入1024字节块的数目。更早的内核,块大小可能不一 样,从512字节到4K字节不等。

6、每秒读写的千字节

从块设备读和写的千字节,表示从块设备中读取和写入的实际大小。


后面会分享更多关于devops和DBA方面的内容,感兴趣的朋友可以关注下!!

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年10月3日
下一篇 2018年10月3日

相关推荐