`
- 浏览:
188810 次
- 性别:
- 来自:
杭州
-
理解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
这个值描述了为文件系统和块设备分配的缓存。注意在Red Hat Enterprise 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为单位表示读写块设备的实际数据的数量。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
在Linux中,配置网络参数的主要目的是确保系统能够正确地与其他设备进行网络通信。这包括: 1. **主机名**:主机名是网络上设备的标识符,用于区分网络上的不同计算机。可以在`/etc/hostname`文件中更改主机名。 2...
在Linux中,我们可以根据不同的需求来调整/proc/sys/net/ipv4/目录下的内核网络参数,通过...linux内核网络参数中关于ip的配置参数通常是用来定义或调整ip包的一些特定的参数,除此之外还定义了系统的一些网络特性。
Linux系统支持多种文件系统,常见的有ext3、ext4、XFS、Btrfs等。文件系统是操作系统用于组织、存储、检索文件的系统。每种文件系统都有自己的特性,如性能、容错能力、存储空间管理等。 Linux发行版本 Linux发行...
Linux 操作系统下设置基本网络参数四种方法 Linux 操作系统下设置基本网络参数四种方法是 Linux 用户需要掌握的基本技能之一。该文档将介绍四种设置基本网络参数的方法:基于控制面板法、基于 X 的 linuxconf 法、...
文件系统的配置信息都存放在 /etc/fstab 文件中,该文件用于指定文件系统的类型、装载点和其他配置参数。使用 mkfs 命令可以建立文件系统,例如 mkfs -c /dev/hda1 可以创建一个 ext2 文件系统。使用 mount 命令可以...
在 Linux 启动过程中,bootargs 参数扮演着重要的角色,该参数用于传递启动选项和配置信息给内核。Linux 内核在启动时对 bootargs 参数的解析可以分为两大块:setup_arch 函数和 parse_early_param 函数。 setup_...
下面我们将详细介绍 uBoot 和 Linux 之间的参数传递关系。 首先,我们需要了解 uBoot 的工作流程。uBoot 是一个 BootLoader,它的主要任务是将操作系统加载到内存中并执行。uBoot 的工作流程可以分为三个阶段:引导...
【吉时利发布基于LINUX的参数测试系统】 吉时利公司发布了一项重大更新,将其$600系列参数测试系统升级至基于Linux的操作系统。这一改变为测试系统的控制器提供了更加稳定的操作环境,延长了服务寿命,并减少了用户...
这份"Linux命令大全"提供了一套详尽的命令参考,涵盖了Linux系统中的各种常用和不常用的命令,以及它们的格式和参数。下面,我们将深入探讨一些重要的Linux命令及其用法。 1. **ls** - 列出目录内容 - `-l`:以...
Linux操作系统内核启动参数在系统启动过程中扮演着关键角色,它们允许用户自定义内核的行为,以适应不同的硬件配置和特殊需求。启动参数是通过引导加载器(如LILO或GRUB)传递给内核的一系列命令行选项,用于设置...
U-Boot是嵌入式设备常用的...掌握U-Boot如何向Linux内核传递启动参数的知识,对于开发嵌入式Linux系统至关重要,能够帮助开发者理解系统启动时的底层细节,以及如何配置和优化这些参数,以确保系统的稳定性和性能。
在ARMLinux系统中,原子操作主要通过硬件支持实现,其API和原子类型的定义存储在内核源码树的`include/asm/atomic.h`文件中。原子操作通常用于实现资源计数,例如,引用计数(`refcnt`)的管理,保证了在并发环境下的...
本文将详细介绍Linux系统中内核参数的几种传递方式,以及每种方式的工作原理。 #### 二、通过Makeconfig修改“General Setup”子菜单中的“Default kernel command string”选项 1. **概述**: - 在Linux内核构建...
本文介绍了嵌入式系统BootLoader 与Linux-2.6.19.2 内核参数传递的具体实现。主要内容包括:系统硬件平台的简介,参数链表的结构和创建,内核的接收。 引言 在嵌入式系统中,BootLoader 是用来初始化硬件,加载内核...
本章主要介绍了Linux下增加用户、删除用户、设置用户组的各种操作,这些操作是进入Linux系统的第一步。 第7章:Shell和Shell编程。本章主要介绍了Shell的基本概念、Shell脚本以及awk的相关知识。 第8章:进程管理。...
"Linux_fstab参数详解" Linux中fstab文件是一个非常重要的配置文件,它包含了系统在启动时挂载文件系统和存储设备的...了解fstab文件的各个参数非常重要,可以帮助我们更好地管理Linux系统中的文件系统和存储设备。
本文将详细介绍 Linux 下 TCP 参数的优化,包括 CLOSE_WAIT 状态的生成原因、proc/sys/net/ipv4/ 中各项参数的意义和调整方法。 CLOSE_WAIT 状态的生成原因 CLOSE_WAIT 状态是 TCP 连接中一种常见的状态。当服务器...
java链接linux获取系统参数,JAVA程序,亲测试,可用。
Linux系统的灵活性允许用户通过定制内核来优化系统,这包括在编译时将特定的驱动程序纳入核心。此外,通过使用命令行工具或配置文件,用户还可以动态加载和管理驱动程序模块,提供更高的灵活性和便捷性。 综上所述...