细说Linux系统优化

  • 时间:
  • 浏览:0
  • 来源:神彩大发11选5_彩神大发11选5官方

avg-cpu:  %user   %nice %system %iowait  %steal   %idle

           3.97    0.00    1.83    8.19    0.00   86.14

Average:        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s

Average:           lo     34.61     34.61     40.48     40.48      0.00      0.00      0.00

Average:         eth0    154.08    212.15     19.23    226.17      0.00      0.00      0.00

Average:         eth1     11.98     25.46      3.200     29.85      0.00      0.00      0.00

Average:         sit0      0.00      0.00      0.00      0.00      0.00      0.00      0.00

对里边次要的输出解释如下:

 IFACE表示网络接口设备。

 rxpck/s表示每秒钟接收的数据包大小。

 txpck/s表示每秒钟发送的数据包大小。

 rxkB/s表示每秒钟接收的字节数。

 txkB/s表示每秒钟发送的字节数。

 rxcmp/s表示每秒钟接收的压缩数据包。

 txcmp/s表示每秒钟发送的压缩数据包。

 rxmcst/s表示每秒钟接收的多播数据包。

通过“sar –n”的输出,可不都还还可以 清楚的显示网络接口发送、接收数据的统计信息。此外还可不都还还可以 通过“sar -n EDEV 2 3”来统计网络错误信息等。

4.5 小结

本节通过几只常用的网络命令介绍了对网络性能的评估,事实上,网络疑问报告 是简单也不容易出理 的,后要大伙根据里边给出的命令,一般都能很快定位疑问报告 。出理 疑问报告 的最好的方法一般是增加网络速率,也不优化网络部署环境。

 除了里边介绍的几只命令外,排查网络疑问报告 一直用到的命令还有traceroute,主要用于跟踪数据包的传输路径,还有nslookup命令,主要用于判断DNS解析信息。

             total       used       free     shared    buffers     cached

Mem:    82005901056 7526936576  9789644200          0  2200128768 62001142272

-/+ buffers/cache:  665665536 7840235520

Swap:   8587149312     163840 8586985472

             total       used       free     shared    buffers     cached

Mem:       82006544    7349548     956996          0     203296    62000024

-/+ buffers/cache:     646228    76200316

Swap:      8385888        1200    8385728

其中,“-n”指定重复执行的时间,“-d”表示高亮显示变动。

2.3 vmstat命令监控内存

vmstat命令在监控系统内存方面功能强大,请看下面的三个小 多输出:

procs  -----------memory----------  ---swap--  -----io---- --system--   ----cpu----

 r  b   swpd    free buff    cache   si   so    bi    bo    in    cs    us sy id   wa

 0  0  906440  22796 155616 1325496  340  1200    2     4     1     4    200  0  10  10

 0  0  906440  42796 155616 1325496  320  289    0    54    1095  287   70  15  0  15

 0  0  906440  42884 155624 1325748  236  387    2   102    1064   276  78  2   5  15

 对于内存的监控,在vmstat中重点关注的是swpd、si和so行,从这人输出可不都还还可以 看出,此系统内存资源紧缺,swpd占用了900M左右内存,si和so占用很大,而也不系统内存的紧缺,原因冒出15%左右的系统停留,此时增加系统的内存是可不都还还可以 要做的。

2.4 sar -r命令组合

sar命令可不都还里还可以 监控linux的内存使用状态,可不都还还可以 通过“sar –r”组合查看系统内存和交换空间的使用率。请看下面的三个小 多输出:

 [root@webserver ~]# sar -r 2 3

Linux 2.6.9-42.ELsmp (webserver)        11/200/2008      _i686_  (8 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle

           2.45    0.00    0.200    0.24    0.00   97.03

Device: rrqm/s  wrqm/s  r/s  w/s   rsec/s   wsec/s avgrq-sz avgqu-sz     await  svctm  %util

sda    0.00     4.200    0.00   7.00   0.00    92.00    13.14     0.01    0.79   0.14   0.10

这人输出基本与“sar –d”相同,可不都还还可以 说明的几只选项的含义为:

 rrqm/s表示每秒进行merged的读操作数目。

 wrqm/s表示每秒进行 merge 的写操作数目。

 r/s表示每秒完成读I/O设备的次数。

 w/s表示每秒完成写I/O设备的次数。

 rsec/s表示每秒读取的扇区数。

 wsec/s表示每秒写入的扇区数。

3.3 vmstat –d组合

 通过“vmstat –d”组合可不都还里还可以 查看磁盘的统计数据,状态下面的三个小 多输出:

02:22:35 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s

02:22:37 PM        lo      4.52      4.52      9.25      9.25      0.00      0.00      0.00

02:22:37 PM      eth0    102.51    133.67     20.67    116.14      0.00      0.00      0.00

02:22:37 PM      eth1     27.14     67.34      2.42     89.26      0.00      0.00      0.00

02:22:37 PM      sit0      0.00      0.00      0.00      0.00      0.00      0.00      0.00

本文转自南非蚂蚁51CTO博客,原文链接:http://blog.51cto.com/ixdba/5220046 ,如需转载请自行联系原作者

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn

sda               1.00         0.00        12.00          0         24

 对里边次要的输出解释如下:

 Blk_read/s表示每秒读取的数据块数。

 Blk_wrtn/s表示每秒写入的数据块数。

 Blk_read表示读取的所有块数

 Blk_wrtn表示写入的所有块数。

这里可不都还还可以 注意的有些是:里边输出的第一项是系统从启动以来到统计时的所有传输信息,从第二次输出的数据才代表在检测的时间段内系统的传输值。

可不都还还可以 通过Blk_read/s和Blk_wrtn/s的值对磁盘的读写性能三个小 多多基本的了解,也不Blk_wrtn/s值很大,表示磁盘的写操作很频繁,可不都还还可以 考虑优化磁盘也不优化多多tcp连接 ,也不Blk_read/s值很大,表示磁盘直接读取操作这样来越多,可不都还还可以 将读取的数据放上去内存中进行操作。对于这三个小多选项的值没三个小 多多固定的大小,根据系统应用的不同,会有不同的值,也不三个小 多多规则还是可不都还还可以 遵循的:长期的、超大的数据读写,肯定是不正常的,这人状态都在影响系统性能。

“iostat –x”组合还提供了对每个磁盘的单独统计,也不不指定磁盘,默认是对所有磁盘进行统计,请看下面的三个小 多输出:

[root@webserver ~]#   iostat -x /dev/sda  2 3

Linux 2.6.9-42.ELsmp (webserver)        12/01/2008      _i686_  (8 CPU)

02:22:31 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s

02:22:33 PM        lo     31.34     31.34     37.53     37.53      0.00      0.00      0.00

02:22:33 PM      eth0    199.200    279.200     17.29    344.12      0.00      0.00      0.00

02:22:33 PM      eth1      5.47      4.98      7.03      0.36      0.00      0.00      0.00

02:22:33 PM      sit0      0.00      0.00      0.00      0.00      0.00      0.00      0.00

[root@webserver ~]# vmstat -d 3 2|grep sda

disk- ------------reads------------ ------------writes----------- -----IO------

     total  merged sectors    ms    total    merged   sectors      ms     cur    sec

sda  239588 29282  6481862  1044442 4538678  323876200 295410812  18200255200  0   6179

disk- ------------reads------------ ------------writes----------- -----IO------

     total  merged  sectors  ms    total     merged    sectors     ms     cur   sec

sda  239588 29282  6481862 1044442 45386200   32387690 295410908 1820025581  0   6179

 这人输冒出示了磁盘的reads、writes和IO的使用状态。

3.4 本节小结

 里边主要讲解了对磁盘I/O的性能评估,我我觉得衡量磁盘I/O好坏是多方面的,有应用多多tcp连接 本身的,都在硬件设计上的,还有系统自身配置的疑问报告 等,要出理 I/O的瓶颈,关键是要提高I/O子系统的执行速率。同类 ,首要要从应用多多tcp连接 上对磁盘读写进行优化,可不都还还可以放上去内存执行的操作,尽量不须放上去磁盘,同時 对磁盘存储最好的方法进行合理规划,选择适合另一方的RAID存取最好的方法,最后,在系统级别上,可不都还还可以 选择适合自身应用的文件系统,必要时使用裸设备提高读写性能。

4 网络性能评估

 网络性能的好坏直接影响应用多多tcp连接 对外提供服务的稳定性和可靠性,监控网络性能,可不都还还可以 从以下几只方面进行管理和优化。

4.1 通过ping命令检测网络的连通性

 也不发现网络反应 缓慢,也不连接中断,可不都还还可以 通过ping来测试网络的连通状态,请看下面的三个小 多输出:

[root@webserver ~]# ping 10.10.1.254

PING 10.10.1.254 (10.10.1.254) 56(84) bytes of data.

64 bytes from 10.10.1.254: icmp_seq=0 ttl=64 time=0.235 ms

64 bytes from 10.10.1.254: icmp_seq=1 ttl=64 time=0.164 ms

64 bytes from 10.10.1.254: icmp_seq=2 ttl=64 time=0.210 ms

64 bytes from 10.10.1.254: icmp_seq=3 ttl=64 time=0.178 ms

64 bytes from 10.10.1.254: icmp_seq=4 ttl=64 time=0.525 ms

64 bytes from 10.10.1.254: icmp_seq=5 ttl=64 time=0.571 ms

64 bytes from 10.10.1.254: icmp_seq=6 ttl=64 time=0.220 ms

--- 10.10.1.254 ping statistics ---

7 packets transmitted, 7 received, 0% packet loss, time 20000ms

rtt min/avg/max/mdev = 0.164/0.200/0.571/0.159 ms, pipe 2

 在这人输出中,time值显示了两台主机之间的网络延时状态,也不此值很大,则表示网络的延时很大,单位为毫秒。在这人输出的最后,是对里边输出信息的三个小 多总结,packet loss表示网络的丢包率,此值越小,表示网络的质量越高。

4.2 通过netstat –i组合检测网络接口状态

netstat命令提供了网络接口的完全信息,请看下面的输出:

[root@webserver ~]# netstat -i

Kernel Interface table

Iface MTU  Met RX-OK     RX-ERR RX-DRP RX-OVR   TX-OK    TX-ERR TX-DRP TX-OVR       Flg

eth0  2000  0 1313129253  0      0       0     1320686497    0      0      0        BMRU

eth1  2000  0 494902025   0      0       0     292358810     0      0      0        BMRU

lo   16436  0 419012001    0      0       0     419012001      0      0      0        LRU

 对里边次要的输出解释如下:

 Iface表示网络设备的接口名称。

 MTU表示最大传输单元,单位字节。

 RX-OK/TX-OK表示也不准确无误的接收/发送了几只数据包。

 RX-ERR/TX-ERR表示接收/发送数据包时产生了几只错误。

 RX-DRP/TX-DRP表示接收/发送数据包时丢弃了几只数据包。

 RX-OVR/TX-OVR表示也不误差而遗失了几只数据包。

 Flg表示接口标记,其中:

 L:表示该接口是个回环设备。

 B:表示设置了广播地址。

 M:表示接收所有数据包。

 R:表示接口正在运行。

 U:表示接口居于活动状态。

 O:表示在该接口上禁用arp。

 P:表示三个小 多点到点的连接。

正常状态下,RX-ERR/TX-ERR、RX-DRP/TX-DRP和RX-OVR/TX-OVR的值都应该为0,也不这几只选项的值不为0,也不很大,这样网络质量肯定有疑问报告 ,网络传输性能也都在下降。

当网络传输居于疑问报告 是,可不都还还可以 检测网卡设备否有居于故障,也不也不,可不都还还可以 升级为千兆网卡也不光纤网络,还可不都还还可以 检查网络部署环境否有合理。

4.3 通过netstat –r组合检测系统的路由表信息

 在网络不通,也不网络异常时,首先想到的也不检查系统的路由表信息,“netstat –r”的输出结果与route命令的输出完全相同,请看下面的三个小 多实例:

[root@webserver ~]#  netstat -r

Kernel IP routing table

Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface

10.10.1.0       *               255.255.255.0   U         0   0       0  eth0

192.168.200.0   *               255.255.255.0   U         0   0       0  eth1

169.254.0.0     *               255.255.0.0     U         0   0       0  eth1

default         10.10.1.254     0.0.0.0         UG        0   0       0  eth0

 关于输出中次要的具体含义,也不在前面章节进行过完全介绍,这里不再多讲,这里大伙重点关注的是default行对应的值,default项表示系统的默认路由,对应的网络接口为eth0。

4.4 通过sar –n组合显示系统的网络运行状态

 sar提供本身不同的选项来显示网络统计信息,通过“-n”选项可不都还还可以 指定三个小 多不同类 型的开关:DEV、EDEV、SOCK和FULL。DEV显示网络接口信息,EDEV显示关于网络错误的统计数据,SOCK显示套接字信息,FULL显示所三个小 多多开关。请看下面的三个小 多输出:

[root@webserver ~]# sar -n DEV 2 3

Linux 2.6.9-42.ELsmp (webserver)        12/01/2008      _i686_  (8 CPU)

Average:  DEV     tps    rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz  await  svctm   %util

Average:  dev8-0  1.00   0.00      19.97     20.00      0.00     0.33    0.17    0.02

 对里边次要的输出解释如下:

 DEV表示磁盘设备名称。

 tps表示每秒到物理磁盘的传送数,也也不每秒的I/O流量。三个小 多传送也不三个小 多I/O请求,多个逻辑请求可不都还还可以 被合并为三个小 多物理I/O请求。

 rd_sec/s表示每秒从设备读取的扇区数(1扇区=512字节)。

 wr_sec/s表示每秒写入设备的扇区数目。

 avgrq-sz表示平均每次设备I/O操作的数据大小(以扇区为单位)。

 avgqu-sz表示平均I/O队列长度。

 await表示平均每次设备I/O操作的停留时间(以毫秒为单位)。

 svctm表示平均每次设备I/O操作的服务时间(以毫秒为单位)。

 %util表示一秒饱含百分之几的时间用于I/O操作。

Linux中I/O请求系统与现实生活中超市购物排队系统有这样来越多同类 的地方,通过对超市购物排队系统的理解,可不都还还可以 加快速率掌握linux中I/O运行机制。比如:

avgrq-sz同类 与超市排队中每人所买东西的几只。

avgqu-sz同类 与超市排队中单位时间内平均排队的人数。

await同类 与超市排队中每人的停留时间。

svctm同类 与超市排队中收银员的收款速率。

 %util同类 与超市收银台前有人排队的时间比例。

对以磁盘IO性能,一般有如下评判标准:

 正常状态下svctm应该是小于await值的,而svctm的大小和磁盘性能有关,CPU、内存的负荷也会对svctm值造成影响,这样来越多的请求也会间接的原因svctm值的增加。

 await值的大小一般取决与svctm的值和I/O队列长度以及I/O请求模式,也不svctm的值与await很接近,表示几乎这样I/O停留,磁盘性能很好,也不await的值远高于svctm的值,则表示I/O队列停留太长,系统上运行的应用多多tcp连接 将加快速率,此时可不都还还可以 通过更换加快速率的硬盘来出理 疑问报告 。

 %util项的值也是衡量磁盘I/O的三个小 多重要指标,也不%util接近200%,表示磁盘产生的I/O请求这样来越多,I/O系统也不满负荷的在工作,该磁盘也不居于瓶颈。长期下去,势必影响系统的性能,可不都还还可以 通过优化多多tcp连接 也不通过更换更高、加快速率的磁盘来出理 此疑问报告 。

3.2 iostat –d命令组合

 通过“iostat –d”命令组合可不都还里还可以 查看系统磁盘的使用状态,请看如下输出:

 [root@webserver ~]#   iostat -d 2 3

Linux 2.6.9-42.ELsmp (webserver)        12/01/2008      _i686_  (8 CPU)

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn

sda               0.00         0.00         0.00          0          0

11:09:33 PM  DEV   tps   rd_sec/s wr_sec/s  avgrq-sz  avgqu-sz  await  svctm   %util

11:09:35 PM dev8-0  0.00  0.00     0.00      0.00      0.00      0.00   0.00    0.00

02:22:33 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s

02:22:35 PM        lo     67.66     67.66     74.34     74.34      0.00      0.00      0.00

02:22:35 PM      eth0    159.70    222.39     19.74    217.16      0.00      0.00      0.00

02:22:35 PM      eth1      3.48      4.48      0.44      0.51      0.00      0.00      0.00

02:22:35 PM      sit0      0.00      0.00      0.00      0.00      0.00      0.00      0.00

             total       used       free     shared    buffers     cached

Mem:    82005901056 7523987456  9819132000          0  2200141056 62001129984

-/+ buffers/cache:  662716416 7843184640

Swap:   8587149312     163840 8586985472

  其中,“-b”表示以千字节(也也不1024字节为单位)来显示内存使用状态。

2.2 通过watch与free相结合动态监控内存状态

 watch是三个小 多非常有用的命令,几乎每个linux发行版都饱含这人工具,通过watch,可不都还还可以 动态的监控命令的运行结果,省去手动执行的麻烦。

  可不都还还可以 在watch里边跟上可不都还还可以 运行的命令,watch就会自动重复去运行这人命令,默认是2秒钟执行一次,并把执行的结果更新在屏幕上。同类 :

[root@webserver ~]# watch -n 3 -d free

 Every 3.0s: free                                   Sun Nov 200 16:23:20 2008

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn

sda               1.87         2.58       114.12    6479462  286537372

作为一名linux系统管理员,最主要的工作是优化系统配置,使应用在系统上以最优的状态运行,也不也不硬件疑问报告 、软件疑问报告 、网络环境等的简化性 和多变性,原因对系统的优化变得异常简化,如保定位性能疑问报告 出在哪个方面,是性能优化的一疑问报告 报告 , 本章从系统入手,重点讲述也不系统软、硬件配置不当也不造成的性能疑问报告 ,也不给出了检测系统故障和优化性能的一般最好的方法和流程。

1 cpu性能评估

 Cpu是影响Linux性能的主要因素之一,下面先介绍几只查看CPU性能的命令。

1.1 vmstat命令

该命令可不都还还可以 显示关于系统各种资源之间相关性能的简要信息,这里大伙主要用它来看CPU的三个小 多负载状态。

下面是vmstat命令在某个系统的输出结果:

[root@node1 ~]# vmstat 2 3

procs -----------memory----------  ---swap--  -----io---- --system--  -----cpu------

 r  b   swpd   free   buff  cache   si   so    bi    bo    in    cs    us sy  id  wa st

 0  0    0    162240   82004  67032   0    0    13    21   2007   23     0  1  98  0  0

 0  0    0    162240   82004  67032   0    0     1     0   1010   20     0  1  200 0  0

 0  0    0    162240   82004  67032   0    0     1     1   2009   18     0  1  99  0  0

对里边次要的输出解释如下:

 procs

 r列表示运行和停留cpu时间片的多多tcp连接 数,这人值也不长期大于系统CPU的个数,说明CPU过低,可不都还还可以 增加CPU。

 b列表示在停留资源的多多tcp连接 数,比如正在停留I/O、也不内存交换等。

 memory

 swpd列表示切换到内存交换区的内存数量(以k为单位)。也不swpd的值不为0,也不比较大,后要si、so的值长期为0,这人状态下一般我这样多 担心,我这样多 影响系统性能。

 free列表示当前空闲的物理内存数量(以k为单位)

 buff列表示buffers cache的内存数量,一般对块设备的读写才可不都还还可以 缓冲。 

 cache列表示page cached的内存数量,一般作为文件系统cached,频繁访问的文件都在被cached,也不cache值较大,说明cached的文件数较多,也不此时IO中bi比较小,说明文件系统速率比较好。

 swap

 si列表示由磁盘调入内存,也也不内存进入内存交换区的数量。

 so列表示由内存调入磁盘,也也不内存交换区进入内存的数量。 

一般状态下,si、so的值都为0,也不si、so的值长期不为0,则表示系统内存过低。可不都还还可以 增加系统内存。

 IO项显示磁盘读写状态

 Bi列表示从块设备读入数据的总量(即读磁盘)(每秒kb)。

 Bo列表示写入到块设备的数据总量(即写磁盘)(每秒kb)

这里大伙设置的bi+bo参考值为2000,也不超过2000,也不wa值较大,则表示系统磁盘IO有疑问报告 ,应该考虑提高磁盘的读写性能。

 system 显示挂接间隔内居于的中断数

 in列表示在某一时间间隔中观测到的每秒设备中断数。

 cs列表示每秒产生的上下文切换次数。

里边这三个小多值越大,会就看由内核消耗的CPU时间会这样来越多。

 CPU项显示了CPU的使用状态,此列是大伙关注的重点。

 us列显示了用户多多tcp连接 消耗的CPU 时间百分比。us的值比较高时,说明用户多多tcp连接 消耗的cpu时间多,也不也不长期大于200%,就可不都还还可以 考虑优化多多tcp连接 或算法。

 sy列显示了内核多多tcp连接 消耗的CPU时间百分比。Sy的值较高时,说明内核消耗的CPU资源这样来越多。

根据经验,us+sy的参考值为200%,也不us+sy大于 200%说明也不居于CPU资源过低。

 id 列显示了CPU居于空闲状态的时间百分比。

 wa列显示了IO停留所占用的CPU时间百分比。wa值越高,说明IO停留越严重,根据经验,wa的参考值为20%,也不wa超过20%,说明IO停留严重,引起IO停留的原因也否有磁盘几滴 随机读写造成的,也也否有磁盘也不磁盘控制器的速率瓶颈造成的(主也不块操作)。

综上所述,在对CPU的评估中,可不都还还可以 重点注意的是procs项r列的值和CPU项中us、sy和id列的值。

1.2  sar命令

检查CPU性能的第三个小工具是sar,sar功能很强大,可不都还还可以 对系统的每个方面进行单独的统计,也不使用sar命令会增加系统开销,不过哪此开销是可不都还还可以 评估的,对系统的统计结果我这样多 有很大影响。

下面是sar命令对某个系统的CPU统计输出:

[root@webserver ~]# sar -u 3 5

Linux 2.6.9-42.ELsmp (webserver)        11/28/2008      _i686_  (8 CPU)

Device:rrqm/s wrqm/s   r/s  w/s   rsec/s  wsec/s avgrq-sz avgqu-sz   await  svctm  %util

sda    0.00   195.00  0.00 18.00  0.00  1704.00    94.67     0.04    2.200   0.11   0.20

11:09:35 PM  DEV   tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz  await   svctm   %util

11:09:37 PM dev8-0  1.00  0.00     12.00     12.00      0.00     0.00    0.00    0.00

avg-cpu:  %user   %nice   %system  %iowait  %steal   %idle

           2.52    0.00    0.200     0.24     0.00    96.96

 在这里,大伙使用了“-c”参数,只显示系统CPU的统计信息,输出中次要代表的含义与sar命令的输出项完全相同,不再详述。

1.4 uptime命令

 uptime是监控系统性能最常用的三个小 多命令,主要用来统计系统当前的运行状态,输出的信息依次为:系统现在的时间、系统从上次开机到现在运行了多长时间、系统目前有几只登陆用户、系统在一分钟内、五分钟内、十五分钟内的平均负载。看下面的三个小 多输出:

[root@webserver ~]# uptime

 18:52:11 up 27 days, 19:44,  2 users,  load average: 0.12, 0.08, 0.08

这里可不都还还可以 注意的是load average这人输出值,这三个小多值的大小一般必须大于系统CPU的个数,同类 ,本输出中系统有8个CPU,也不load average的三个小 多值长期大于8时,说明CPU很繁忙,负载很高,也不会影响系统性能,也不偶尔大于8时,倒我这样多 担心,一般我这样多 影响系统性能。相反,也不load average的输出值小于CPU的个数,则表示CPU还有空闲的时间片,比如本例中的输出,CPU是非常空闲的。

1.5 本节小结

里边介绍了检查CPU使用状态的三个小命令,通过哪此命令可不都还还可以 了解的是:系统CPU否有冒出性能瓶颈,也也不说,以上哪此命令必须查看CPU否有繁忙,负载否有过大,也不无法知道CPU为甚负载过大,因而,判断系统CPU冒出疑问报告 后,要结合top、ps等命令进一步检查是由哪此多多tcp连接 原因CPU负载过大的。引起CPU资源紧缺的原因也否有应用多多tcp连接 不合理造成的,也也否有硬件资源过低引起的,这样来越多,要具体疑问报告 具体分析,也不优化应用多多tcp连接 ,也不增加系统CPU资源。

2 内存性能评估

内存的管理和优化是系统性能优化的三个小 多重要次要,内存资源的充沛否有直接影响应用系统的使用性能,在进行内存优化三个小 多多 ,一定要熟悉linux的内存管理机制,这人点大伙在前面的章节也不有深入讲述,本节的重点是如保通过系统命令监控linux系统的内存使用状态。

2.1 free 命令

free是监控linux内存使用状态最常用的指令,看下面的三个小 多输出:

[root@webserver ~]# free -m

             total       used       free     shared    buffers     cached

Mem:          8111       7185        925          0        243       6299

-/+ buffers/cache:        643       7468

Swap:         8189          0       8189

  “free –m”表示以M为单位查看内存使用状态,在这人输出中,大伙重点关注的应该是free列与cached列的输出值,由输出可知,此系统共8G内存,系统空闲内存还有925M,其中,Buffer Cache占用了243M,Page Cache占用了6299M,由此可知系统缓存了这样来越多的文件和目录,而对于应用多多tcp连接 来说,可不都还还可以 使用的内存还有7468M,当然这人7468M饱含了Buffer Cache和Page Cache的值。在swap项可不都还还可以 看出,交换分区还未使用。这样来越多从应用的淬硬层 来说,此系统内存资源还非常充沛。 

  一般三个小 多多多 三个小 多经验公式:应用多多tcp连接 可用内存/系统物理内存>70%时,表示系统内存资源非常充沛,不影响系统性能,应用多多tcp连接 可用内存/系统物理内存<20%时,表示系统内存资源紧缺,可不都还还可以 增加系统内存,20%<应用多多tcp连接 可用内存/系统物理内存<70%时,表示系统内存资源基本能满足应用需求,暂时不影响系统性能。

  free命令还可不都还还可以 适时的监控内存的使用状态,使用“-s”参数可不都还还可以 在指定的时间段内不间断的监控内存的使用状态:

[root@webserver ~]# free -b -s 5 

             total       used       free     shared    buffers     cached

Mem:    82005901056 75287020048  9771920008          0  2200112384 62001158656

-/+ buffers/cache:  6674320008 78384620048

Swap:   8587149312     163840 8586985472

06:29:33 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle

06:29:36 PM       0      3.00      0.00      0.33      0.00      0.00     96.67

06:29:39 PM       0      0.67      0.00      0.33      0.00      0.00     99.00

06:29:42 PM       0      0.00      0.00      0.33      0.00      0.00     99.67

06:29:45 PM       0      0.67      0.00      0.33      0.00      0.00     99.00

06:29:48 PM       0      1.00      0.00      0.33      0.33      0.00     98.34

Average:          0      1.07      0.00      0.33      0.07      0.00     98.53

 这人输出是对系统的第一颗CPU的信息统计,可不都还还可以 注意的是,sar中对CPU的计数是从0刚现在开使的,也不,“sar -P 0 3 5”表示对系统的第一颗CPU进行信息统计,“sar -P 4 3 5”则表示对系统的第五颗CPU进行统计。依次类推。可不都还还可以 看出,里边的系统有八颗CPU。

1.3 iostat命令

 iostat指令主要用于统计磁盘IO状态,也不可不都还还可以查看CPU的使用信息,它的局限性是必须显示系统所有CPU的平均信息,看下面的三个小 多输出:

[root@webserver ~]# iostat  -c

Linux 2.6.9-42.ELsmp (webserver)        11/29/2008      _i686_  (8 CPU)

11:41:24 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle

11:41:27 AM     all      0.88      0.00      0.29      0.00      0.00     98.83

11:41:200 AM     all      0.13      0.00      0.17      0.21      0.00     99.200

11:41:33 AM     all      0.04      0.00      0.04      0.00      0.00     99.92

11:41:36 AM     all      0.29      0.00      0.13      0.00      0.00     99.58

11:41:39 AM     all      0.38      0.00      0.17      0.04      0.00     99.41

Average:        all      0.34      0.00      0.16      0.05      0.00     99.45

 对里边次要的输出解释如下:

 %user列显示了用户多多tcp连接 消耗的CPU 时间百分比。

 %nice列显示了运行正常多多tcp连接 所消耗的CPU 时间百分比。

 %system列显示了系统多多tcp连接 消耗的CPU时间百分比。

 %iowait列显示了IO停留所占用的CPU时间百分比

 %steal列显示了在内存相对紧张的环境下pagein强制对不同的页面进行的steal操作 。

 %idle列显示了CPU居于空闲状态的时间百分比。

 这人输出是对系统整体CPU使用状态的统计,次要的输出都非常直观,也不最后一行Average是个汇总行,是里边统计信息的三个小 多平均值。

 可不都还还可以 注意的有些是:第一行的统计信息中饱含了sar本身的统计消耗,这样来越多%user列的值会偏高有些,不过,这我这样多 对统计结果产生多大影响。

 在三个小 多多CPU的系统中,也不多多tcp连接 使用了单多tcp连接 ,会冒出这样三个小 多疑问报告 ,CPU的整体使用率不高,也不系统应用却响应缓慢,这也否有也不多多tcp连接 使用单多tcp连接 的原因,单多tcp连接 只使用三个小 多CPU,原因这人CPU占用率为200%,无法出理 其它请求,而其它的CPU却闲置,这就原因 了整体CPU使用率不高,而应用缓慢 疑问报告 的居于 。

 针对这人疑问报告 ,可不都还还可以 对系统的每个CPU分开查询,统计每个CPU的使用状态:

[root@webserver ~]# sar -P 0 3 5 

Linux 2.6.9-42.ELsmp (webserver)        11/29/2008      _i686_  (8 CPU)

Device: rrqm/s  wrqm/s  r/s  w/s  rsec/s  wsec/s avgrq-sz avgqu-sz   await  svctm  %util

sda   0.01     12.48    0.10  1.78  2.58   114.03    62.33   0.07    38.39   1.200   0.24

09:57:33 PM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit

09:57:35 PM    897988   7408556     89.19    249428   6496532    786556      4.71

09:57:37 PM    898564   74079200     89.18    249428   6496532    784276      4.70

09:57:39 PM    899196   7407348     89.17    249440   6496520    782132      4.69

Average:       898583   7407961     89.18    249432   6496528    784321      4.70

其中:

Kbmemfree表示空闲物理内存大小,kbmemused表示已使用的物理内存空间大小,%memused表示已使用内存占总内存大小的百分比,kbbuffers和kbcached分别表示Buffer Cache和Page Cache的大小,kbcommit和%commit分别表示应用多多tcp连接 当前使用的内存大小和使用百分比。

可不都还还可以 看出sar的输出我我觉得与free的输出完全对应,不过sar更加人性化,不但给出了内存使用量,还给出了内存使用的百分比以及统计的平均值。从%commit项可知,此系统目前内存资源充沛。

2.5 本节小结

 里边介绍了内存监控常用的几只指令以及有些经验规则,我我觉得现在的系统在内存方面冒出的瓶颈也不很少,也不内存价格很低,充沛的内存也不完全能满足应用多多tcp连接 和系统本身的可不都还还可以 ,也不系统在内存方面冒出瓶颈,很大的也否有应用多多tcp连接 本身的疑问报告 造成的。

3 磁盘I/O性能评估

 在对磁盘I/O性能做评估三个小 多多 ,可不都还还可以 知道的几只方面是:

 熟悉RAID存储最好的方法,可不都还还可以 根据应用的不同,选择不同的RAID最好的方法,同类 ,也不三个小 多应用一直有几滴 的读操作,可不都还还可以 选择RAID5最好的方法构建磁盘阵列存储数据,也不应用有几滴 的、频繁的写操作,可不都还还可以 选择raid0存取最好的方法,也不应用对数据安全要求很高,同時 对读写都在要求语录,可不都还还可以 考虑raid01存取最好的方法等等。

 尽也不用内存的读写代替直接磁盘I/O,使频繁访问的文件或数据放上去内存中进行操作出理 ,也不内存读写操作比直接磁盘读写的速率要高千倍。

 将一直进行读写的文件与长期不变的文件独立出来,分别放置到不同的磁盘设备上。

 对于写操作频繁的数据,可不都还还可以 考虑使用裸设备代替文件系统。这里简要讲述下文件系统与裸设备的对比:

使用裸设备的优点有:

 数据可不都还还可以 直接读写,不可不都还还可以 经过操作系统级的缓存,节省了内存资源,出理 了内存资源争用。

 出理 了文件系统级的维护开销,比如文件系统可不都还还可以 维护超级块、I-node等。

 出理 了操作系统的cache预读功能,减少了I/O请求。

使用裸设备的缺点是:

 数据管理、空间管理不灵活,可不都还还可以 很专业的人来操作。

我我觉得裸设备的优点也不文件系统的缺点,反之也是这样,这就可不都还还可以 大伙做出合理的规划和衡量,根据应用的需求,做出对应的策略。

下面接着介绍对磁盘IO的评估标准。

3.1 sar -d命令组合

 通过“sar –d”组合,可不都还还可以 对系统的磁盘IO做三个小 多基本的统计,请看下面的三个小 多输出:

[root@webserver ~]# sar -d 2 3

Linux 2.6.9-42.ELsmp (webserver)        11/200/2008      _i686_  (8 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle

           4.04    0.00    1.83    8.01    0.00   86.18

11:09:37 PM   DEV   tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz  await  svctm  %util

11:09:39 PM dev8-0  1.99   0.00    47.76     24.00     0.00      0.200    0.25    0.05

猜你喜欢

游客l4dlihzgedmzo的主页

文章:5丨粉丝:27875丨话题:0文章:1丨粉丝:26612丨话题:0暂无暂未提供热衷于自动化运维及数据库研究文章:0丨粉丝:26612丨话题:0文章:0丨粉丝:27870丨

2020-02-28

请举出因暴政而导致亡国的一位君主?

你对这名回答的评价是?可选中另另一个 或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个大大问题 。你对这名回答的评价是?为你推荐:秦始皇,下载百度知道APP

2020-02-28

三皇五帝具体指哪些人?

展开删剪(6)黄帝(轩辕)、青帝(伏羲)、赤帝又叫炎帝(神农)、白帝(少昊)、黑帝(颛顼)(五方上帝)③伏羲、祝融、神农(同上);①燧人、伏羲、神农(《尚书大传》);(5)少昊

2020-02-28

金庸小说中武功前十位的人物怎样排名

7、石破天一支竹棒瞬间轻松横扫三千越甲面不改色气不喘,而三千越甲可吞吴,也也不说阿青能轻易击溃二个多多国家阿青的原型是33剑客之首的赵处女,也是九天玄女的化身,中国的剑祖,非凡

2020-02-28

剑魔独孤求败小说txt全集免费下载

展开全版扫描二维码下载收起更多回答(1)换一换免费的,直接下载就行剑魔独孤求败txt全集小说附件已上传到百度网盘,点击免费下载:展开全版发私信了,不懂的再问我下载百度知道AP

2020-02-28