Linux操作系统性能调优的方法_第1页
Linux操作系统性能调优的方法_第2页
Linux操作系统性能调优的方法_第3页
Linux操作系统性能调优的方法_第4页
Linux操作系统性能调优的方法_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、按照传统,Linux不同的发行版本和不同的内核对各项参数及设置均做了改动,从而使得系统能够获得更好的性能。下边将分四部分介绍在Red Hat Enterprise Linux AS和SUSE LINUX Enterprise Server系统下,如何用以下几种技巧进行性能的优化:QUOTE:1、Disabling daemons (关闭 daemons)2、Shutting down the GUI (关闭GUI)3、Changing kernel parameters (改变内核参数)4、Kernel parameters (内核参数)5、Tuning the processor subsy

2、stem(处理器子系统调优)6、Tuning the memory subsystem (内存子系统调优)7、Tuning the file system(文件系统子系统调优)8、Tuning the network subsystem(网络子系统调优)1 关闭daemons有些运行在服务器中的daemons (后台服务),并不是完全必要的。关闭这些daemons可释放更多的内存、减少启动时间并减少CPU处理的进程数。减少daemons数量的同时也增强了服务器的安全性。缺省情况下,多数服务器都可以安全地停掉几个daemons。Table 10-1列出了Red Hat Enterprise Li

3、nux AS下的可调整进程.Table 10-2列出了SUSE LINUX Enterprise Server下的可调整进程.注意:关闭xfs daemon将导致不能启动X,因此只有在不需要启动GUI图形的时候才可以关闭xfs daemon。使用startx命令前,开启xfs daemon,恢复正常启动X。可以根据需要停止某个进程,如要停止sendmail 进程,输入如下命令:Red Hat: /sbin/service sendmail stopSUSE LINUX: /etc/init.d/sendmail stop也可以配置在下次启动的时候不自动启动某个进程,还是sendmail:Red

4、 Hat: /sbin/chkconfig sendmail offSUSE LINUX: /sbin/chkconfig -s sendmail off除此之外,LINUX还提供了图形方式下的进程管理功能。对于Red Hat,启动GUI,使用如下命令: /usr/bin/redhat-config-services 或者鼠标点击 Main Menu - System Settings -Server Settings - Services.提示:并非所有的daemons都会显示在该配置界面,如要看到全部的daemons,使用如下命令:/sbin/chkconfig list对于SUSE LI

5、NUX,图形界面是YaST2, 可用如下命令来启动/sbin/yast2 runlevel 或者如Figure 10-2所示用鼠标点击Browse: YaST/ ? YaST modules ? System ? Runlevel editor2 关闭GUI只要有可能,就不要在Linux server上启动GUI图形,通常在Linux server上,没有必要启动GUI。,所有的管理任务均可在命令行方式下完成、或者通过重定向X和Web浏览器界面。有几个可用的基于Web的工具(例 如webmin, Linuxconf, 和SWAT).需要的时候启动GUI,用完马上关闭GUI。多数情况,服务器运行

6、在runlevel 3,即在机器启动的时候不进入GUI。命令行方式下,执行startx 来启动Xserver.1. 查看runlevel的命令:runlevel会显示出上次和当前的runlevel (如N 5 表示没有上次的runlevel (N) ,当前的runlevel是5).2. 在不同的runlevels之间切换,使用命令 init如切换到run level 3,键入命令init 3下边是对Linux中不同runlevels的简要描述 0 Halt 停机(不要将0设置为缺省,否则服务器启动后就会马上关闭) 1 - Single user mode 单用户模式 2 - Multi-use

7、r 不带NFS的多用户模式 (如果没有网络,相当与3) 3 - Full multi-user mode 完全多用户模式 4 Unused 未使用 5 - X11 6 Reboot 重启(不要将6设置为缺省,否则服务器会不断地重启)修改文件/etc/inittab 来设置机器启动的runlevel,如Figure 10-3。对于SUSE LINUX Enterprise Server, 执行YaST runlevel 命令改变缺省runlevel值.如图Figure 10-2。缺省情况下,保存了6个控制台:F1F6。为节省内存,可以减少为3个。使用mingetty ttyx命令来实现,如图Fi

8、gure 10-3提示:即便是已经关闭了GUI,依然可以远程连接并启动GUI,可以使用ssh-x。3 改变内核参数Linux内核是操作系统的核心,对所有的Linux发行版本是通用的。内核参数可以改变,在命令行下执行sysctl 命令。提示:缺省情况下,LINUX内核包括不必重启就可以使用sysctl命令的必要的模块。尽管如此,如果你在安装系统的时候选择移除该功能,那么你只有重新启动LINUX,才可以使得改变生效。SUSE LINUX 提供了图形界面下的修改方式。使用如下命令来启动powertweak工具:/sbin/yast powertweak使用如下命令启动基于字符的管理菜单:/sbin/

9、yast2 powertweakRed Hat也提供了图形界面下更改sysctl参数的方式:/usr/bin/redhat-config-proc如图Figure 10-5:Parameter storage locations内核参数保存在/proc(特别是/proc/sys),提供了内核、处理器、内存、网络及其他组件的相关参数。每个执行的进程都有一个以相应PID命名的目录。Figure 10-3列出了一些包括内核信息的文件。4 内核的参数Table 10-5 列出了Red Hat V2.4与性能关系密切的一些内核参数。5 处理器子系统调优处理器对于应用和数据库服务器来讲是最重要的硬件子系统

10、之一。然而在这些系统中,CPU经常是性能的瓶颈。在配有Xeon处理器的高端服务器中,你可以启用或者关闭Hyper-Threading(超线程功能)。Hyper-Threading在操作系 统里将一颗处理器虚拟化为两颗使用。Red Hat Enterprise Linux AS和SUSE LINUX Enterprise Server都支持该功能,从而可以使处理器在同一时刻执行两个线程或者进程。对于支持Hyper-Threading的操作系统和软件来说,不需要增加 CPU时钟频率即可使性能得到明显的改进。例如,在4路的服务器上起用Hyper-Threading功能并使用性能监测工具(如top)来

11、检测,可以看 到8颗处理器。如图Figure 10-6提示,对于Hyper-Threading:_ 基于SMP内核的LINUX才可以支持Hyper-Threading_ 安装的CPU数量越多,从Hyper-Threading获得的性能上的提高就越少。可获得的性能提高大约为: 2颗物理CPU: 15-25% 4颗物理CPU: 1-13% 8颗物理CPU: 0-5% 如需更多的关于Hyper-Threading信息,可查看更多。EM64T是Intel IA-32处理器的64-bit扩展。意思是,处理器能够支持更多的内存并支持64-bit应用同时完全兼容现存的32-bit应用。Red Hat Ent

12、erprise Linux 3 Update 2 和 SUSE LINUX Enterprise Server 9支持这种新的处理器。如需更多的EM64T信息,可查看更多。选择正确的内核Red Hat Enterprise Linux AS和SUSE LINUX Enterprise Server都包括有若干个内核包,如Table 10-6所列。选择合适的内核对性能非常重要。6内存子系统的调优内存子系统的调优不是很容易,需要不停地监测来保证内存的改变不会对服务器的其他子系统造成负面影响。如果要改变虚拟内存参数(在/proc/sys/vm),建议您每次只改变一个参数然后监测效果。对与虚拟内存的调

13、整包括以下几个项目:配置Linux内核如何更新dirty buffers到磁盘。磁盘缓冲区用于暂存磁盘的数据。相对于内存来讲,磁盘缓冲区的速度很慢。因此,如果服务器使用这类内存,性能会成问题。当缓冲区内 的数据完全dirty,使用:sysctl -w vm.bdflush=30 500 0 0 500 3000 60 20 0vm.bdflush有9个参数,但是建议您只改变其中的3个: nfract, 为排队写入磁盘前,bdflush daemon允许的缓冲区最大百分比 ndirty, 为bdflush即刻写的最大缓冲区的值。如果这个值很大,bdflush需要更多的时间完成磁盘的数据更新。 n

14、fract_sync, 发生同步前,缓冲区变dirty的最大百分比配置kswapd daemon,指定Linux的内存交换页数量sysctl -w vm.kswapd=1024 32 64三个参数的描述如下: tries_base 相当于内核每次所交换的“页”的数量的四倍。对于有很多交换信息的系统,增加这个值可以改进性能。 tries_min 是每次kswapd swaps出去的pages的最小数量。 swap_cluster 是kswapd 即刻写如的pages数量。数值小,会提高磁盘I/O的性能;数值大可能也会对请求队列产生负面影响。如果要对这些参数进行改动,请使用工具vmstat检查对性

15、能的影响。其它可以改进性能的虚拟内存参数为:_ buffermem_ freepages_ overcommit_memory_ page-cluster_ pagecache_ pagetable_cache7 网络子系统的调优操作系统安装完毕,就要对网络子系统进行调优。对其它子系统的影响:影响CPU利用率,尤其在有大量TCP连接、块尺寸又非常小时,内存的使用会明显增加。如何预防性能下降如下的sysctl命令用于改变安全设置,但是它也可以防止网络性能的下降。这些命令被设置为缺省值。关闭如下参数可以防止黑客对服务器IP地址的攻击开启TCP SYN cookies,保护服务器避免受syn-flo

16、od攻击,包括服务取决denial-of-service (DoS) 或者分布式服务拒绝distributed denial-of-service (DDoS) (仅适用Red Hat Enterprise Linux AS)以下命令使服务器忽略来自被列入网关的服务器的重定向。因重定向可以被用来进行攻击,所以我们只接受有可靠来源的重定向。另外,你可以配置接受或拒绝任何ICMP重定向。ICMP重定向是路由器传输路由信息的机制。比如,当网关接收到来自所接网络主机的 Internet数据报时,网关可以发送重定向信息到一台主机。网关检查路由表获得下一个网关的地址,第二个网关将数据报路由到目标网络.关闭

17、这些重定向 得命令如下:如果这个服务器不是一台路由器,那么它不会发送重定向,所以可以关闭该功能:配置服务器拒绝接受广播风暴或者smurf 攻击attacks:忽略所有icmp包或者pings:有些路由器针对广播祯发送无效的回应,每个都产生警告并在内核产生日志.这些回应可以被忽略:8.针对TCP和UDP的调优下边的命令用来对连接数量非常大的服务器进行调优。对于同时支持很多连接的服务器,新的连接可以重新使用TIME-WAIT套接字. 这对于Web服务器非常有效:如果你使用该命令,还要启动TIME-WAIT 套接字状态的快速循环功能:图Figure 10-7显示出将这些功能启用,连接数量明显降低.因

18、为每个TCP传输都包含远程客户端的协议信息缓存,所以有利于提高性能.缓存中存放round-trip时间、最大segment大小、拥塞窗口的信息。参数tcp_fin_timeout 是套接字关闭时,保持FIN-WAIT-2状态的时间。一个TCP连接以three-segment SYN序列开始, 以three-segment FIN序列结束.均不保留数据.通过改变tcp_fin_timeout的值, 从FIN序列到内存可以空闲出来处理新连接的时间缩短了,使性能得到改进.改变这个值的前要经过认真的监测,避免因为死套接字造成内存溢出.服务器的一个问题是,同一时刻的大量TCP连接里有很多的连接被打开但是

19、没有使用. TCP的keepalive功能检测到这些连接,缺省情况下,在2小时之后丢掉. 2个小时的可能导致内存过度使用,降低性能.因此改成1800秒(30分钟)是个更好的选择:对于所有协议的队列,设置最大系统发送缓存(wmem) 和接收缓存(rmem)到8MB这些设置指定了创建TCP套接字时为其分配的内存容量. 另外,使用如下命令发送和接收缓存.该命令设定了三个值:最小值、初始值和最大值:第三个值必须小于或等于wmem_max和rmem_max。(SUSE LINUX Enterprise Server适用) 通过保留路径验证来源数据包。缺省情况下,路由器转发所有的数据包,即便是明显的异常网

20、络流量。通过启动和是的过滤功能,丢掉这些数据包:当服务器负载繁重或者是有很多客户端都是超长延时的连接故障,可能会导致half-open连接数量的增加。这对于Web服务器很来讲很平常,尤 其有很多拨号客户时.这些half-open连接保存在 backlog connections 队列中.将这个值最少设置为4096 (缺省为1024). 即便是服务器不接收这类连接,设置这个值还能防止受到denial-of-service (syn-flood)的攻击.设置ipfrag参数,尤其是NFS和Samba服务器。这里,我们可以设置用于重新组合IP碎片的最大、最小内存。当ipfrag_high_thres

21、h值被指派,碎片会被丢弃直到达到ipfrag_low_thres值。当TCP数据包传输发生错误时,开始碎片整理。有效的数据包保留在内存,同时损坏的数据包被转发。例如,设置可用内存范围从256 MB到384 MB五大Linux简单命令解决系统性能问题管理Linux主机的性能看起来经常象是在变魔术一样。许多管理员在遇到性能问题的时候常常简单化处理,依靠硬件的更新换代,更大的内存和更强的CPU来解决问题。事实上,利用一些简单的Linux命令,可以发现许多管理主机的细节问题并且能迅速而简单地解决性能问题。一、top对许多管理员来说,最新学会的就是TOP命令,它可以显示出当前运行的所有内核任务,并且提供

22、了一些主机状态的统计报告。默认地,TOP命令每隔五分钟自动更新一次这个数据(这个更新间隔是可设置的)。TOP命令的功能丰富到令人难以置信(估计很少有人使用过一半以上的功能)。一般来说你会以h键开始,就是help(说明文档也非常精彩)。帮助参数可以快速显示出你能从中增加和减去的内容,同时也可以改变排序。你还可以用k来结束进程或者用r标注特别的进程。Top命令显示当天的正常运行时间、系统负载、处理器的数量、内存的使用率和哪些进程使用了大多数CPU资源(包括每个进程的大量相关信息,例如在线用户和正在执行的命令等)。二、vmstatVmstat命令提供给你一个当前CPU、IO、进程和内存使用率的快照。

23、和TOP命令一样,它自动动态刷新,并且可以用下面的命令执行:$ vmstat 10在这里延迟是指两次刷新间隔的以秒为单位的时间,这里是10秒钟。VMSTAT命令会将检查的结果不停刷新显示在屏幕上,直到你用CTRL-C命令 结束它(或者你也可以在执行的时候设置一个限制)。这个持续输出的结果有时候被用来导入到文件中用来分析性能趋势,但是我们将找到更好的方式来做这件事 情,在文章后面的部分会介绍。第一列显示的是处理器, r列是待命的处理器,而b列是休眠的处理器。如果你在这里看到好多个待命的处理器,那说明你可能在某个地方遇到了性能瓶颈。第二列显示的是内存:虚拟的, 空闲的,缓冲和缓存内存。第三列显示的

24、是交换存储以及具体有多少内存在和磁盘做交换。第四列则是I/O信息,显示了块服务接收和发送的块数据信息。最后两列显示了系统和CPU相关的信息。系统列显示的是冲突的数量和每秒钟的交换。CPU列是显示了特别有用的信息。每个分列显示了一个CPU时间的百分比。这些分列如下:US:运行用户任务和代码耗费的时间SY:运行内核或者系统代码耗费的时间ID:空闲时间WA:等待IO耗费的时间ST:虚拟机占用的时间VMSTAT命令擅长用来查询CPU使用情况,虽然记住每个参数主要取决于持续的监控,因为对CPU进行短时间的观察你可能无法获知CPU真正的问题所在。你需要查看长期的运行趋势来获得一个确切的CPU性能信息。三、

25、iostat我们接下来要讲的命令是IOSTAT。IOSTAT命令(在UBUNTU、红帽和FEDORA系统中都是由SYSSTAT软件包提供的)可以提供三 个报告:CPU使用率、设备使用率和网络文件系统使用率。如果你不加任何参数地运行该命令,它会显示所有这三个报告,你可以通过加参数-c、-d和h来 单独显示它们中的一种。在上面的图中你可以看到它们中的其中两个报告,第一个是CPU使用率,它将各进程占用的CPU用百分比分类列出来了。你能看到用户进程、系统进程、iowait和空闲时间等信息。第二个报告是关于设备使用率,显示了安装在该主机上的每个设备和一些有用的信息,诸如每秒传输量、数据块读写,并且允许你

26、对有性能问题的设备做标 记。你可以通过添加k或者m参数来按照千字节或者兆字节显示统计信息,而不是以数据块为单位,这样在某些情况下会更便于查阅和理解。最后一个报告,没有截图,显示的信息和上面介绍的设备使用率有点相似,只是对象从附件的设备换成了挂载的网络文件系统。四、free下一个命令free,可以显示主内存和交换内存的统计量。你可以通过添加t参数来显示总的内存,或者通过添加b参数和m参数来用字节数显示(默认情况是用千字节为单位)。FREE命令还可以通过使用s参数来使其以某个间隔时间持续刷新地运行:$ free -s 5这个命令是以每隔5秒钟刷新一次的方式运行FREE命令并输出结果。五、sar象我们见过的许多其它工具一样,我们可以用sar命令来收集、查看和记录服务器的性能数据。它比我们见过的任何类似工具都更强大,并且可以收集和

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论