linux系统反应优化,细说Linux系统优化-实践篇【转载】
作为一名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系统优化-实践篇【转载】相关推荐
- linux 系统优化基础,Linux系统基础优化总结
请称呼我搬运工,哈哈 优化综合 https://www.cnblogs.com/yinshoucheng-golden/p/6149556.html (1)不用root管理,以普通用户的名义通过sud ...
- 嵌入式linux+io+优化,嵌入式Linux系统内存优化使用方法研究
[摘要] 嵌入式系统功能的提高,占用了较大内存空间,继而时常出现运行无响应.基于用户方面看,由于系统内存问题影响运行,针对系统内存与进程应用状态研究,可以调整系统数值与执行文件elf分析,进行系统优化 ...
- linux系统安全优化
linux系统安全优化 用户账号安全优化 1.禁用(锁定)zhangsan用户 用passwd –l [root@s2 ~]# passwd -l zhangsan Locking password ...
- [学习收藏]Linux系统硬盘优化
[声明]转自:http://doc.linuxpk.com/129.html 优化linux系统硬盘 本文对linux系统下,硬盘的维护.整理.优化工作进行了一个分析与描述.(2002-12-17 0 ...
- Linux实战教学笔记06:Linux系统基础优化
第六节 Linux系统基础优化 标签(空格分隔):Linux实战教学笔记-陈思齐 第1章 基础环境 第2章 使用网易163镜像做yum源 默认国外的yum源速度很慢,所以换成国内的. 第一步:先备份 ...
- linux系统有哪些版本 linux系统哪个版本好用
l inux最早由Linus Benedict Torvalds在1991年开始编写.在这之前,RichardStallman创建了Free SoftwareFoundation(FSF)组织以及 ...
- php 登录 linux服务器,如何实现linux系统远程登录到linux服务器
linux系统登录到远程linux服务器: 有多种不同的协议可供选择,也许SSH是"最好"的.SSH是secure shell的简写,意为"安全的shell". ...
- Linux系统磁状态检测,检测Linux硬件状态
计算机系统是由软件系统和硬件系统共同组成的.检测硬件状态对于保障整个系统的稳定是非常重要的.不论操作系统是使用Linux.还是Windows,一旦硬件出现故障,那么整个系统的安全就严重了.这里我们主要 ...
- git 的安装以及使用:是一个开源的分布式版本控制系统,可以对项目进行版本管理。 早期是linux之父用来管理linux系统源代码的(linux是和windows一样操作系统 开源免费的操作...
## 总结 - 学会使用基本的git命令 管理源代码 - 学会去github创建仓库 并将代码上传到github的仓库 (有待完成 回家有网再push) - 了解本地的.git和服务器github的. ...
最新文章
- 电流如何在导线中传播
- Android自带语音播报+讯飞语音播报封装(直接用)
- matlab寻找函数对应的工具箱
- 如何在 SAP BTP 上 手动执行 workflow
- twitter数据集_大数据周报-201925
- 接口interface修饰符相关问题总结
- 【Python】可视化神经网络训练过程时处理报错 train_acc=hist.history[‘acc’] KeyError: ‘acc’
- 什么情况下java会出现堆溢出_【Java面试题第三期】JVM中哪些地方会出现内存溢出?出现的原因是什么?...
- java判断运算符_java运算符,判断符(了解)
- 南银法巴消费金融拟设线下直营中心,与南京银行CFC联动
- Simulink嵌入式自动代码DSP F28335(4)——SVPWM
- ddwrt 扩张linux分区,FON2405e在引进自定义固件OpenWRTDDWRT.doc
- spring @lazy注解的使用
- 用户相关的常用搜索转化率指标
- 程序员工具大全【持续更新】
- 会计计算机功能,会计软件具有什么功能
- 使用74LS160设计六进制计数器
- 人工智能导论:清览作业
- 第三章 SQL错误信息
- 香港服务器适合用来搭建app吗。
热门文章
- vSAN一次人肉工程师踩过的坑
- linux bond配置步骤,七种bond模式说明
- Spring学习总结(32)—— 宣布 Spring Native Beta 版!
- Docker学习总结(33)——Docker环境下搭建 MySQL 主从复制
- Redis学习总结(2)——Java使用Redis
- java 求集合真子集_【同步练习】高一高中数学必修1集合的关系与元素性质
- html select选择事件_用 Java 拿下 HTML 分分钟写个小爬虫
- 儒林外史每回概括简短10字_冬至祝福语简短10字左右 ,冬至祝福语简短精悍一句话...
- string 与BigDecimal互转
- 解读系统资质审批的相关政策