linux中的一些系统参数介绍

理解 Linux 调优参数


在我们介绍 Linux 系统的各种调优参数和性能 监测工具之前,需要先讨论一些关于性能调优的参数。因为 Linux 是一个开源操作系统,所以又大量可用的性能监测工具。对这些工具的选择取决于你的个人喜好和对数据 细节的要求。所有的性能监测工具都是按照同样的规则来工作的,所以无论你使用哪种监测工具都需要理解这些参数。下面列出了一些重要的参数,有效的理解它们是很有用处的。

1 )处理器参数

CPU utilization

这是一个很简单的参数,它直观的描述了每个 CPU 的利用率。在 xSeries 架构中,如果 CPU 的利用率长时间的超过 80 %,就可能是出现了处理器的瓶颈。

Runable processes

这个值描述了正在准备被执行的进程 ,在一个持续时间里这个值不应该超过物理 CPU 数量的 10 倍,否则 CPU 方面就可能存在瓶颈。

Blocked

描述了那些因为等待 I/O 操作结束而不能被执行的进程, Blocked 可能指出你正面临 I/O 瓶颈。

User time

描述了处理用户进程的百分比,包括 nice time 。如果 User time 的值很高,说明系统性能用在处理实际的工作。

System time

描述了 CPU 花费在处理内核 操作包括 IRQ 软件 中断上面的百分比。如果 system time 很高说明系统可能存在网络 或者驱动 堆栈方面的瓶颈。一个系统通常只花费很少的时间去处理内核的操作。

Idle time

描述了 CPU 空闲的百分比。

Nice time

描述了 CPU 花费在处理 re-nicing 进程的百分比。

Context switch

系统中线程 之间进行交换的数量。

Waiting

CPU 花费在等待 I/O 操作上的总时间,与 blocked 相似,一个系统不应该花费太多的时间在等待 I/O 操作上,否则你应该进一步检测 I/O 子系统是否存在瓶颈。

Interrupts

Interrupts 值包括硬 Interrupts 和软 Interrupts ,硬 Interrupts 会对系统性能带来更多的不利影响。高的 Interrupts 值指出系统可能存在一个软件的瓶颈,可能是内核或者驱动程序。注意 Interrupts 值中包括 CPU 时钟导致的中断(现代的 xServer 系统每秒 1000 Interrupts 值)。

 

2 )内存参数

Free memory

相比其他操作系统, Linux 空闲内存的值不应该做为一个性能参考的重要指标,因为就像我们之前提到过的, Linux 内核会分配大量没有被使用的内存作为文件 系统的缓存,所以这个值通常都比较小。

Swap usage

这个值描述了已经被使用的 swap 空间。 Swap usage 只表示了 Linux 管理内存的有效性。对识别内存瓶颈来说, Swap In/Out 才是一个比较又意义的依据,如果 Swap In/Out 的值长期保持在每秒 200 300 个页面通常就表示系统可能存在内存的瓶颈。

Buffer and cache

这个值描述了为文件系统 和块设备分配的缓存。注意在 RedHat Enter prise Linux 3 和更早一些的版本中,大部分空闲内存会被分配作为缓存使用。在 Red Hat Enterprise Linux 4 以后的版本中 , 你可以通过修改 /proc/sys/vm 中的 page_cache_tuning 来调整空闲内存中作为缓存的数量。

Slabs

描述了内核使用的内存空间,注意内核的页面是不能被交换到磁盘上的。

Active versus inactive memory

提供了关于系统内存的 active 内存信息, Inactive 内存是被 kswapd 守护进程交换到磁盘上的空间。

 

3 )网络参数

Packets received and sent

这个参数表示了一个指定网卡 接收和发送的数据包的数量。

Bytes received and sent

这个参数表示了一个指定网卡接收和发送的数据包的字节数。

Collisions per second

这个值提供了发生在指定网卡上的网络冲突的数量。持续的出现这个值代表在网络架构上出现了瓶颈,而不是在服务器 端出现的问题。在正常配置的网络中冲突是非常少见的,除非用户的网络环境都是由 hub 组成。

Packets dropped

这个值表示了被内核丢掉的数据包数量,可能是因为防火墙或者是网络缓存的缺乏。

Overruns

Overruns 表达了超出网络接口缓存的次数,这个参数应该和 packets dropped 值联系到一起来判断是否存在在网络缓存或者网络队列过长方面的瓶颈。

Errors

这个值记录了标志为失败的帧的数量。这个可能由错误的网络配置或者部分网线损坏导致,在铜口千兆以太网环境中部分网线的损害是影响性能的一个重要因素。

 

4 )块设备参数

Iowait

CPU 等待 I/O 操作所花费的时间。这个值持续很高通常可能是 I/O 瓶颈所导致的。

Average queue length

I/O 请求的数量,通常一个磁盘队列值为 2 3 为最佳情况,更高的值说明系统可能存在 I/O 瓶颈。

Average wait

响应一个 I/O 操作的平均时间。 Average wait 包括实际 I/O 操作的时间和在 I/O 队列里等待的时间。

Transfers per second

描述每秒执行多少次 I/O 操作(包括读和写)。 Transfers per second 的值与 kBytes per second 结合起来可以帮助你估计系统的平均传输块大小,这个传输块大小通常和磁盘子系统的条带化大小相符合可以获得最好的性能。

Blocks read /write per second

这个值表达了每秒读写的 blocks 数量,在 2.6 内核中 blocks 1024bytes ,在早些的内核版本中 blocks 可以是不同的大小,从 512bytes 4kb

Kilobytes per second read/write

按照 kb 为单位表示读写块设备的实际数据的数量。

 

你可能感兴趣的:(linux,网络,System,工具,磁盘,linux内核)