版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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 proces
2、sor subsystem(处理器子系统调优) 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 列出了 re
3、d hat enterprise linux as 下的可调整进程. table 10-2 列出了 suse linux enterprise server 下的可调整进程.留意:关闭 xfs daemon 将导致不能启动 x,因此只有在不需要启动 gui 图形的时候才可以关闭 xfs daemon。使用 startx 命令前,开启 xfs daemon,恢复正常启动 x。可以依据需要停止某个进程,如要停止 sendmail 进程,输入如下命令:red hat: /sbin/service sendmail stop suse linux: /etc/init.d/sendmail stop也
4、可以配置在下次启动的时候不自动启动某个进程,还是 sendmail:red 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 都会显示在该配置
5、界面,如要看到全部的 daemons, 使用如下命令:/sbin/chkconfig list对于 suse linux,图形界面是 yast2, 可用如下命令来启动/sbin/yast2 runlevel 或者如 figure 10-2 所示用鼠标点击browse: yast/ ?> yast modules ?> system ?> runlevel editor2 关闭 gui只要有可能,就不要在 linux server 上启动 gui 图形,通常在 linux server 上,没有必要启动gui。,全部的管理任务均可在命令行方式下完成、或者通过重定向 x 和 we
6、b 扫瞄器界面。有几个可用的基于 web 的工具(例 如 webmin, linuxconf, 和 swat).需要的时候启动 gui,用完马上关闭 gui。多数状况,服务器运行在 runlevel 3, 即在机器启动的时候不进入 gui。命令行方式下,执行startx 来启动 xserver.1. 查看runlevel的命令:runlevel会显示出上次和当前的 runlevel (如 n 5 表示没有上次的 runlevel (n) ,当前的 runlevel 是 5).2. 在不同的runlevels之间切换,使用命令init如切换到 run level 3,键入命令 init 3下边是
7、对 linux 中不同 runlevels 的简要描述0 halt 停机(不要将 0 设置为缺省,否则服务器启动后就会马上关闭)1- single user mode 单用户模式2- multi-user 不带 nfs 的多用户模式 (假如没有网络,相当与 3)3- full multi-user mode 完全多用户模式4 unused 未使用5- x116 reboot 重启(不要将 6 设置为缺省,否则服务器会不断地重启)修改文件/etc/inittab 来设置机器启动的 runlevel,如 figure 10-3。对于 suse linux enterprise server, 执行
8、 yast runlevel 命令转变缺省runlevel 值.如图 figure 10-2。缺省状况下,保存了6 个把握台:f1f6。为节省内存,可以削减为3 个。使用 mingetty ttyx 命令来实现,如图 figure 10-3提示:即便是已经关闭了 gui,照旧可以远程连接并启动 gui,可以使用 ssh-x。3 转变内核参数linux 内核是操作系统的核心,对全部的linux 发行版本是通用的。内核参数可以转变,在命令行下执行 sysctl 命令。提示:缺省状况下,linux 内核包括不必重启就可以使用 sysctl 命令的必要的模块。尽管如此,假如你在安装系统的时候选择移除该
9、功能,那么你只有重新启动 linux,才可以使得转变生效。suse linux 供应了图形界面下的修改方式。使用如下命令来启动 powertweak工具:/sbin/yast powertweak使用如下命令启动基于字符的管理菜单:/sbin/yast2 powertweakred hat 也供应了图形界面下更改 sysctl 参数的方式:/usr/bin/redhat-config-proc如图 figure 10-5:parameter storage locations内核参数保存在/proc(特殊是/proc/sys),供应了内核、处理器、内存、网络及其他组件的相关参数。每个执行的进程
10、都有一个以相应 pid 命名的名目。figure 10-3 列出了一些包括内核信息的文件。4 内核的参数table 10-5 列出了 red hat v2.4 与性能关系亲密的一些内核参数。5 处理器子系统调优处理器对于应用和数据库服务器来讲是最重要的硬件子系统之一。然而在这些系统中,cpu 经常是性能的瓶颈。在配有 xeon 处理器的高端服务器中,你可以启用或者关闭 hyper-threading(超线程功能)。hyper-threading 在操作系 统里将一颗处理器虚拟化为两颗使用。red hat enterprise linux as 和 suse linux enterprise s
11、erver 都支持该功能,从而可以使处理器在同一时刻执行两个线程或者进程。对于支持hyper-threading 的操作系统和软件来说,不需要增加 cpu 时钟频率即可使性能得到明显的改进。例如,在 4 路的服务器上起用 hyper-threading 功能并使用性能监测工具(如 top)来检测,可以看 到 8 颗处理器。如图 figure 10-6提示,对于 hyper-threading:_ 基于 smp 内核的 linux 才可以支持 hyper-threading_ 安装的 cpu 数量越多,从 hyper-threading 获得的性能上的提高就越少。可获得的性能提高大约为: 2 颗
12、物理 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 enterprise linux 3 update 2 和 suse linux enterprise server 9支持这种新的处理器。如需更多的 em64t 信息,可查看更多。选择正确的内核red hat enterprise linux as 和
13、 suse linux enterprise server 都包括有若干个内核包,如 table 10-6 所列。选择合适的内核对性能格外重要。6 内存子系统的调优内存子系统的调优不是很简洁,需要不停地监测来保证内存的转变不会对服务器的其他子系统造成负面影响。假如要转变虚拟内存参数(在/proc/sys/vm),建议您每次只转变一个参数然后监测效果。对与虚拟内存的调整包括以下几个项目:配置 linux 内核如何更新 dirty buffers 到磁盘。磁盘缓冲区用于暂存磁盘的数据。相对于内存来讲,磁盘缓冲区的速度很慢。因此,假如服务器使用这类内存, 性能会成问题。当缓冲区内 的数据完全 dir
14、ty,使用:sysctl -w vm.bdflush=“30 500 0 0 500 3000 60 20 0“vm.bdflush 有 9 个参数,但是建议您只转变其中的 3 个:· nfract, 为排队写入磁盘前,bdflush daemon 允许的缓冲区最大百分比· ndirty, 为 bdflush 即刻写的最大缓冲区的值。假如这个值很大,bdflush需要更多的时间完成磁盘的数据更新。· nfract_sync, 发生同步前,缓冲区变 dirty 的最大百分比配置 kswapd daemon,指定 linux 的内存交换页数量sysctl -w vm.
15、kswapd=“1024 32 64“三个参数的描述如下: tries_base 相当于内核每次所交换的“页”的数量的四倍。对于有很多交换信息的系统,增加这个值可以改进性能。 tries_min 是每次 kswapd swaps 出去的 pages 的最小数量。 swap_cluster 是 kswapd 即刻写如的 pages 数量。数值小,会提高磁盘 i/o的性能;数值大可能也会对恳求队列产生负面影响。假如要对这些参数进行改动,请使用工具 vmstat 检查对性能的影响。其它可以改进性能的虚拟内存参数为:_ buffermem_ freepages_ overcommit_memory_
16、page-cluster_ pagecache_ pagetable_cache7 网络子系统的调优操作系统安装完毕,就要对网络子系统进行调优。对其它子系统的影响:影响cpu 利用率,尤其在有大量tcp 连接、块尺寸又格外小时,内存的使用会明显增加。如何预防性能下降如下的 sysctl 命令用于转变平安设置,但是它也可以防止网络性能的下降。这些命令被设置为缺省值。关闭如下参数可以防止黑客对服务器 ip 地址的攻击开启 tcp syn cookies,爱护服务器避开受 syn-flood 攻击,包括服务取决denial-of-service (dos) 或者分布式服务拒绝 distributed
17、denial-of-service (ddos) (仅适用 red hat enterprise linux as)以下命令使服务器忽视来自被列入网关的服务器的重定向。因重定向可以被用来进行攻击,所以我们只接受有牢靠来源的重定向。另外,你可以配置接受或拒绝任何icmp 重定向。icmp 重定向是路由器传输路由信息的机制。比如,当网关接收到来自所接网络主机的 internet 数据报时,网关可以发送重定向信息到一台主机。网关检查路由表获得下一个网关的地址,其次个网关将数据报路由到目标网络.关闭这些重定向 得命令如下:假如这个服务器不是一台路由器,那么它不会发送重定向,所以可以关闭该功能:配置服务
18、器拒绝接受广播风暴或者 smurf 攻击 attacks:忽视全部 icmp 包或者 pings:有些路由器针对广播祯发送无效的回应,每个都产生警告并在内核产生日志. 这些回应可以被忽视:8.针对 tcp 和 udp 的调优下边的命令用来对连接数量格外大的服务器进行调优。对于同时支持很多连接的服务器,新的连接可以重新使用 time-wait 套接字.这对于 web 服务器格外有效:假如你使用该命令,还要启动 time-wait 套接字状态的快速循环功能:图figure 10-7 显示出将这些功能启用,连接数量明显降低.由于每个tcp 传输都包含远程客户端的协议信息缓存,所以有利于提高性能.缓存
19、中存放 round-trip 时间、最大 segment 大小、拥塞窗口的信息。参数 tcp_fin_timeout 是套接字关闭时,保持fin-wait-2 状态的时间。一个tcp 连接以 three-segment syn 序列开头, 以 three-segment fin 序列结束.均不保留数据.通过转变 tcp_fin_timeout 的值, 从 fin 序列到内存可以空闲出来处理新连接的时间缩短了,使性能得到改进.转变这个值的前要经过认真的监测, 避开由于死套接字造成内存溢出.服务器的一个问题是,同一时刻的大量 tcp 连接里有很多的连接被打开但是没有使用. tcp 的keepali
20、ve 功能检测到这些连接,缺省状况下,在2 小时之后丢掉. 2 个小时的可能导致内存过度使用,降低性能.因此改成 1800 秒(30 分钟)是个更好的选择:对于全部协议的队列,设置最大系统发送缓存(wmem) 和接收缓存(rmem)到8mb这些设置指定了创建 tcp 套接字时为其安排的内存容量. 另外,使用如下命令发送和接收缓存.该命令设定了三个值:最小值、初始值和最大值:第三个值必需小于或等于 wmem_max 和 rmem_max。(suse linux enterprise server 适用) 通过保留路径验证来源数据包。缺省状况下,路由器转发全部的数据包,即便是明显的特别网络流量。通
21、过启动和是的过滤功能,丢掉这些数据包:当服务器负载繁重或者是有很多客户端都是超长延时的连接故障,可能会导致half-open 连接数量的增加。这对于 web 服务器很来讲很平常,尤 其有很多拨号客户时.这些 half-open 连接保存在 backlog connections 队列中.将这个值最少设置为 4096 (缺省为 1024). 即便是服务器不接收这类连接,设置这个值还能防止受到 denial-of-service (syn-flood)的攻击.设置 ipfrag 参数,尤其是 nfs 和 samba 服务器。这里,我们可以设置用于重新组合 ip 碎片的最大、最小内存。当 ipfra
22、g_high_thresh 值被指派,碎片会被丢弃直到达到 ipfrag_low_thres 值。当 tcp 数据包传输发生错误时,开头碎片整理。有效的数据包保留在内存,同时损坏的数据包被转发。例如,设置可用内存范围从 256 mb 到 384 mb五大 linux 简洁命令解决系统性能问题管理 linux 主机的性能看起来经常象是在变魔术一样。很多管理员在遇到性能问题的时候经常简洁化处理,依靠硬件的更新换代,更大的内存和更强的 cpu 来解决问题。事实上,利用一些简洁的 linux 命令,可以发觉很多管理主机的细节问题并且能快速而简洁地解决性能问题。一、top对很多管理员来说,最新学会的就是
23、 top 命令,它可以显示出当前运行的全部内核任务,并且供应了一些主机状态的统计报告。默认地,top 命令每隔五分钟自动更新一次这个数据(这个更新间隔是可设置的)。top 命令的功能丰富到令人难以置信(估量很少有人使用过一半以上的功能)。一般来说你会以h键开头,就是help(说明文档也格外精彩)。挂念参数可以快速显示出你能从中增加和减去的内容,同时也可以转变排序。你还可以用 k 来结束进程或者用 r 标注特殊的进程。top 命令显示当天的正常运行时间、系统负载、处理器的数量、内存的使用率和哪些进程使用了大多数 cpu 资源(包括每个进程的大量相关信息,例如在线用户和正在执行的命令等)。二、vm
24、statvmstat 命令供应应你一个当前 cpu、io、进程和内存使用率的快照。和 top 命令一样,它自动动态刷新,并且可以用下面的命令执行:$ vmstat 10在这里延迟是指两次刷新间隔的以秒为单位的时间,这里是 10 秒钟。vmstat 命令会将检查的结果不停刷新显示在屏幕上,直到你用 ctrl-c 命令 结束它(或者你也可以在执行的时候设置一个限制)。这个持续输出的结果有时候被用来导入到文件中用来分析性能趋势,但是我们将找到更好的方式来做这件事 情,在文章后面的部分会介绍。第一列显示的是处理器, r 列是待命的处理器,而 b 列是休眠的处理器。假如你在这里看到好多个待命的处理器,那
25、说明你可能在某个地方遇到了性能瓶颈。其次列显示的是内存:虚拟的, 空闲的,缓冲和缓存内存。第三列显示的是交换存储以及具体有多少内存在和磁盘做交换。第四列则是 i/o 信息,显示了块服务接收和发送的块数据信息。最终两列显示了系统和 cpu 相关的信息。系统列显示的是冲突的数量和每秒钟的交换。cpu 列是显示了特殊有用的信息。每个分列显示了一个 cpu 时间的百分比。这些分列如下:us:运行用户任务和代码耗费的时间sy:运行内核或者系统代码耗费的时间id:空闲时间wa:等待 io 耗费的时间st:虚拟机占用的时间vmstat 命令擅长用来查询 cpu 使用状况,虽然记住每个参数主要取决于持续的监控
26、,由于对 cpu 进行短时间的观看你可能无法获知 cpu 真正的问题所在。你需要查看长期的运行趋势来获得一个精确的 cpu 性能信息。三、iostat我们接下来要讲的命令是 iostat。iostat 命令(在 ubuntu、红帽和fedora 系统中都是由 sysstat 软件包供应的)可以供应三 个报告:cpu 使用率、设备使用率和网络文件系统使用率。假如你不加任何参数地运行该命令,它会显示全部这三个报告,你可以通过加参数-c、-d 和h 来 单独显示它们中的一种。在上面的图中你可以看到它们中的其中两个报告,第一个是 cpu 使用率,它将各进程占用的 cpu 用百分比分类列出来了。你能看到
27、用户进程、系统进程、iowait 和空闲时间等信息。其次个报告是关于设备使用率,显示了安装在该主机上的每个设备和一些有用的信息,诸如每秒传输量、数据块读写,并且允许你对有性能问题的设备做标 记。你可以通过添加k 或者m 参数来依据千字节或者兆字节显示统计信息,而不是以数据块为单位,这样在某些状况下会更便于查阅和理解。最终一个报告,没有截图,显示的信息和上面介绍的设备使用率有点相像,只是对象从附件的设备换成了挂载的网络文件系统。四、free下一个命令 free,可以显示主内存和交换内存的统计量。你可以通过添加t 参数来显示总的内存,或者通过添加b 参数和m 参数来用字节数显示(默认状况是用千字节为单位)。free 命令还可以通过使用s 参数来使其以某个间隔时间持续刷新地运行:$ free -s 5这个命令是以每隔 5 秒钟刷新一次的方式运行 free 命令并输出结果。五、sar象我们见过的很多其它工具一样,我们可以用 sar 命令来收集、查看和记录服务器的性能数据。它比我们见过的任何类似工具都更强大,并且可以收集和显示长时间段的数据。在红帽和 ubun
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 财务风险监测与评估的工作重点计划
- 加强人才培养机制的工作总结计划
- 建建筑工程管理与实务课件新大纲
- 传热液行业相关投资计划提议范本
- 内镜专用高频电刀相关行业投资方案范本
- 课内外结合的综合活动计划
- 医院信息安全工作总结与防护措施计划
- 如何组织班级户外拓展活动计划
- 车辆抵押借款合同三篇
- 《信息论与编码新题》课件
- TB 10012-2019 铁路工程地质勘察规范
- 枫蓼肠胃康胶囊抗菌消炎作用的药理学研究
- 大学生文创产品设计方案
- MOOC 过程流体机械-常州大学 中国大学慕课答案
- sqe工作规划和展望
- 教师地震安全知识讲座
- 2024年公安机关人民警察高级执法资格考试试卷含答案(案例分析题 论述题)
- 2024届新高考英语练习:动词的时态和语态
- 妇产科判断题600道
- 智慧农业中的智能农机与农具技术
- 口腔客服工作总结
评论
0/150
提交评论