Linu系统性能调优之性能分析.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
原文:Linux系统性能调优之性能分析 性能调优的第一步是性能分析,下面从性能分析着手进行一些介绍,尤其对 Linux 性能分析工具 vmstat 的用法和实践进行详细介绍。 性能分析的目的 找出系统性能瓶颈(包括硬件瓶颈和软件瓶颈); 提供性能优化的方案(升级硬件?改进系统系统结构?); 达到合理的硬件和软件配置; 使系统资源使用达到最大的平衡。(一般情况下系统良好运行的时候恰恰各项资源达到了一个平衡体,任何一项资源的过渡使用都会造成平衡体系破坏,从而造成系统负载极高或者响应迟缓。比如 CPU 过渡使用会造成大量进程等待 CPU 资源,系统响应变慢,等待会造成进程数增加,进程增加又会造成内存使用增加,内存耗尽又会造成虚拟内存使用,使用虚拟内存又会造成磁盘 IO 增加和 CPU 开销增加) 影响性能的因素 CPU(cpu 的速度与性能很大一部分决定了系统整体的性能,是否使用 SMP) 内存(物理内存不够时会使用交换内存,使用 swap 会带来磁盘 I0 和 cpu 的开销) 硬盘(存储系统) a.Raid 技术使用(RAID0, RAID1, RAID5, RAID0+1) b.小文件读写瓶颈是磁盘的寻址(tps),大文件读写的性能瓶颈是带宽 c.Linux 可以利用空闲内存作文件系统访问的 cache,因此系统内存越大存储系统的性能也越好 网络带宽。 性能分析的步骤 1)对资源的使用状况进行长期的监控和数据采集(nagios、cacti) 2)使用常见的性能分析工具(vmstat、top、free、iostat 等) 3)经验积累 应用程序设计的缺陷和数据库查询的滥用最有可能导致性能问题 性能瓶颈可能是因为程序差/内存不足/磁盘瓶颈,但最终表现出的结果就是 CPU 耗尽,系统负载极高,响应迟缓,甚至暂时失去响应 物理内存不够时会使用交换内存,使用 swap 会带来磁盘 I0 和 cpu 的开销 可能造成 cpu 瓶颈的问题:频繁执 Perl,php,java 程序生成动态 web;数据库查询大量的 where 子句、order by/group by 排序…… 可能造成内存瓶颈问题:高并发用户访问、系统进程多,java 内存泄露…… 可能造成磁盘 IO 瓶颈问题:生成 cache 文件,数据库频繁更新,或者查询大表…… 4.vmstat 详细介绍 vmstat 是一个很全面的性能分析工具,可以观察到系统的进程状态、内存使用、虚拟内存使用、磁盘的 IO、中断、上下文切换、CPU 使用等。对于 Linux 的性能分析,100%理解 vmstat 输出内容的含义,并能灵活应用,那对系统性能分析的能力就算是基本掌握了。 下面是 vmstat 命令的输出结果: [root@monitor-www ~]# vmstat 1 5 procs —————memory————— ——swap—— ——io—— ——system—— ——cpu—— r us b sy swpd id wa st free buff cache si so bi bo in cs 1 0 84780 909744 267428 1912076 0 0 20 94 0 0 2 1 95 1 0 1 2 84780 894968 267428 1912216 0 0 0 1396 2301 11337 8 3 89 0 0 1 0 84780 900680 267428 1912340 0 0 76 1428 1854 8082 7 2 90 0 0 1 0 84780 902544 267432 1912548 0 0 116 928 1655 7502 7 2 92 0 0 2 0 84780 900076 267432 1912948 0 0 180 904 1963 8703 10 3 87 0 0 对输出解释如下: procs a.r 列表示运行和等待 CPU 时间片的进程数,这个值如果长期大于系统CPU 个数,就说明 CPU 资源不足,可以考虑增加 CPU; b.b 列表示在等待资源的进程数,比如正在等待 I/O 或者内存交换等。 memory a.swpd 列表示切换到内存交换区的内存数量(以 KB 为单位)。如果swpd 的值不为 0 或者比较大,而且si、so 的值长期为 0,那么这种情况一般不用担心,不会影响系统性能; b.free 列表示当前空闲的物理内存数量(以 KB 为单位); c.buff 列表示 buffers cache 的内存数量,一般对块设备的读写才需要缓冲; d.cache 列表示 page cached 的内存数量,一般作文件系统的cached,频繁访问的文件都会被 cached。如果 cached 值较大,就说明cach

文档评论(0)

tianya189 + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体阳新县融易互联网技术工作室
IP属地上海
统一社会信用代码/组织机构代码
92420222MA4ELHM75D

1亿VIP精品文档

相关文档