linux中的一些系统参数介绍
2010-05-16 14:57
351 查看
理解
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
调优参数
在我们介绍
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 中的一些系统参数介绍
- Ubuntu Linux系统下apt-get命令参数介绍
- [转]Ubuntu Linux系统下apt-get命令参数介绍
- Ubuntu Linux系统下apt-get命令参数介绍
- linux系统性能相关参数介绍
- Linux的系统性能监测参数获取方法介绍
- linux下一些系统服务的介绍
- linux提高机器的性能,修改系统参数。
- Linux 查看磁盘分区、文件系统、使用情况的命令和相关工具介绍
- linux提高机器的性能,修改系统参数。
- linux提高机器的性能,修改系统参数。
- arm-linux-gcc的命令参数介绍
- Linux系统下C语言编程基础知识介绍
- Linux 系统启动流程及其介绍
- linux系统不同对象升级方法详细介绍
- Linux系统IO分析工具之iotop参数详解(查看IO占用)
- ext4文件系统制作 - make_ext4fs 参数介绍【转】
- Linux查看系统信息的一些命令
- Linux系统中定时运行命令使用介绍附实例
- linux配置网卡IP地址命令详细介绍及一些常用网络配置命令