作为一名linux系统管理员,最主要的工作是优化系统配置,使应用在系统上以最优的状态运行,但是由于硬件问题、软件问题、网络环境等的复杂性

和多变性,导致对系统的优化变得异常复杂,如何定位性能问题出在哪个方面,是性能优化的一大难题,

本章从系统入手,重点讲述由于系统软、硬件配置不当可能造成的性能问题,并且给出了检测系统故障和优化性能的一般方法和流程。

1 cpu性能评估

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

1.1 vmstat命令该命令可以显示关于系统各种资源之间相关性能的简要信息,这里我们主要用它来看CPU的一个负载情况。下面是vmstat命令在某个系统的输出结果:[root@RHEL6 ~]#vmstat

procs ————memory————– -swap-

—io—- –system–

670320 01321 1007230 1 98 0 0

0 0 0 162240 8304670320 01 0 101020

0 1 100

0 0

0 0 0 162240 8304670320 01 1 100918 0 1 99 0 0

对上面每项的输出解释如下:

procs

r列表示运行和等待cpu时间片的进程数,这个值如果长期大于系统CPU的个数,说明CPU不足,需要增加CPU。

b列表示在等待资源的进程数,比如正在等待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参考值为1000,如果超过1000,而且wa值较大,则表示系统磁盘IO有问题,应该考虑提高磁盘的读写性能。

system

显示采集间隔内发生的中断数

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

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

上面这2个值越大,会看到由内核消耗的CPU时间会越多。

CPU项显示了CPU的使用状态,此列是我们关注的重点。

us列显示了用户进程消耗的CPU

时间百分比。us的值比较高时,说明用户进程消耗的cpu时间多,但是如果长期大于50%,就需要考虑优化程序或算法。

sy列显示了内核进程消耗的CPU时间百分比。Sy的值较高时,说明内核消耗的CPU资源很多。

根据经验,us+sy的参考值为80%,如果us+sy大于

80%说明可能存在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@RHEL6 ~]# sar -u 3 5

Linux 2.6.32-71.el6.i686

(RHEL6) 12/10/2010 _i686_ (2 CPU)

10:45:12

PM CPU %user %nice %system %iowait %steal %idle10:45:15

PM all 0.17 0.00 0.00 0.00 0.00 99.83

10:45:18

PM all 0.00 0.00 0.17 0.00 0.00 99.83

10:45:21

PM all 0.00 0.00 0.17 1.16 0.00 98.67

10:45:24

PM all 0.00 0.00 0.00 0.00 0.00 100.00

10:45:27

PM all 0.00 0.00 0.17 0.00

linux系统反应优化,细说Linux系统优化-实践篇【转载】相关推荐

  1. linux 系统优化基础,Linux系统基础优化总结

    请称呼我搬运工,哈哈 优化综合 https://www.cnblogs.com/yinshoucheng-golden/p/6149556.html (1)不用root管理,以普通用户的名义通过sud ...

  2. 嵌入式linux+io+优化,嵌入式Linux系统内存优化使用方法研究

    [摘要] 嵌入式系统功能的提高,占用了较大内存空间,继而时常出现运行无响应.基于用户方面看,由于系统内存问题影响运行,针对系统内存与进程应用状态研究,可以调整系统数值与执行文件elf分析,进行系统优化 ...

  3. linux系统安全优化

    linux系统安全优化 用户账号安全优化 1.禁用(锁定)zhangsan用户 用passwd –l [root@s2 ~]# passwd -l zhangsan Locking password ...

  4. [学习收藏]Linux系统硬盘优化

    [声明]转自:http://doc.linuxpk.com/129.html 优化linux系统硬盘 本文对linux系统下,硬盘的维护.整理.优化工作进行了一个分析与描述.(2002-12-17 0 ...

  5. Linux实战教学笔记06:Linux系统基础优化

    第六节 Linux系统基础优化 标签(空格分隔):Linux实战教学笔记-陈思齐 第1章 基础环境 第2章 使用网易163镜像做yum源 默认国外的yum源速度很慢,所以换成国内的. 第一步:先备份 ...

  6. linux系统有哪些版本 linux系统哪个版本好用

    l   inux最早由Linus Benedict Torvalds在1991年开始编写.在这之前,RichardStallman创建了Free SoftwareFoundation(FSF)组织以及 ...

  7. php 登录 linux服务器,如何实现linux系统远程登录到linux服务器

    linux系统登录到远程linux服务器: 有多种不同的协议可供选择,也许SSH是"最好"的.SSH是secure shell的简写,意为"安全的shell". ...

  8. Linux系统磁状态检测,检测Linux硬件状态

    计算机系统是由软件系统和硬件系统共同组成的.检测硬件状态对于保障整个系统的稳定是非常重要的.不论操作系统是使用Linux.还是Windows,一旦硬件出现故障,那么整个系统的安全就严重了.这里我们主要 ...

  9. git 的安装以及使用:是一个开源的分布式版本控制系统,可以对项目进行版本管理。 早期是linux之父用来管理linux系统源代码的(linux是和windows一样操作系统 开源免费的操作...

    ## 总结 - 学会使用基本的git命令 管理源代码 - 学会去github创建仓库 并将代码上传到github的仓库 (有待完成 回家有网再push) - 了解本地的.git和服务器github的. ...

最新文章

  1. 电流如何在导线中传播
  2. Android自带语音播报+讯飞语音播报封装(直接用)
  3. matlab寻找函数对应的工具箱
  4. 如何在 SAP BTP 上 手动执行 workflow
  5. twitter数据集_大数据周报-201925
  6. 接口interface修饰符相关问题总结
  7. 【Python】可视化神经网络训练过程时处理报错 train_acc=hist.history[‘acc’] KeyError: ‘acc’
  8. 什么情况下java会出现堆溢出_【Java面试题第三期】JVM中哪些地方会出现内存溢出?出现的原因是什么?...
  9. java判断运算符_java运算符,判断符(了解)
  10. 南银法巴消费金融拟设线下直营中心,与南京银行CFC联动
  11. Simulink嵌入式自动代码DSP F28335(4)——SVPWM
  12. ddwrt 扩张linux分区,FON2405e在引进自定义固件OpenWRTDDWRT.doc
  13. spring @lazy注解的使用
  14. 用户相关的常用搜索转化率指标
  15. 程序员工具大全【持续更新】
  16. 会计计算机功能,会计软件具有什么功能
  17. 使用74LS160设计六进制计数器
  18. 人工智能导论:清览作业
  19. 第三章 SQL错误信息
  20. 香港服务器适合用来搭建app吗。

热门文章

  1. vSAN一次人肉工程师踩过的坑
  2. linux bond配置步骤,七种bond模式说明
  3. Spring学习总结(32)—— 宣布 Spring Native Beta 版!
  4. Docker学习总结(33)——Docker环境下搭建 MySQL 主从复制
  5. Redis学习总结(2)——Java使用Redis
  6. java 求集合真子集_【同步练习】高一高中数学必修1集合的关系与元素性质
  7. html select选择事件_用 Java 拿下 HTML 分分钟写个小爬虫
  8. 儒林外史每回概括简短10字_冬至祝福语简短10字左右 ,冬至祝福语简短精悍一句话...
  9. string 与BigDecimal互转
  10. 解读系统资质审批的相关政策