寻找Linux单机负载瓶颈

服务器性能上不去,是哪里出了问题?IO还是CPU?只有找到瓶颈点,才能对症下药;
如何寻找Linux单机负载瓶颈,遵循的原则是不要推测,我们要通过测量的数据说话;

负载分两类:
1.CPU负载;
2.IO负载;

排查流程

1.查看平均负载(top/uptime命令)
2.确认CPU、IO有无瓶颈;(使用 sar vmstat)
3.CPU负载过高时寻找流程:
4.IO负载过高时寻找流程;

查看平均负载

先通过top命令查看服务器是否出现负载过重的状况,之后,再具体使用工具来分析出是CPU负载过高还是IO负载过高;
比如,使用sar工具查看CPU使用率和IO等待率(sar的具体使用教程参考大CC的这篇文章:
http://blog.me115.com/2013/12/468
top的结果:
load average:0.7, 0.66,0.59
平均负载分别表明从左到右1分钟、5分钟、15分钟内,单位时间内处于等待状态的任务数;
(等待 的意思 表明在等待cpu、或者等待IO)

CPU负载过高时的寻找流程

使用top、sar确认目标程序;
再通过ps查看进程状态和CPU使用时间等;
进一步寻找:通过strace 或 oprofile命令;

IO负载过高的寻找流程

IO负载过高,多半是程序发出的IO请求过多导致负载过高,或是发生页面交互导致频繁访问磁盘;
应通过sar或vmstat确认交换区状态,以找出原因;
如果是发生页面交互的情况,通过以下步骤调查:
1.使用ps工具确认是否有进程消耗了大量内存;
2.如果由于程序故障造成内存消息过大,应改进程序;
3.内存不足则增加内存;

如果没有交换发生,而且磁盘IO频繁,可能是用于缓存的内存不足;
1.考虑扩大缓存,增加内存;
2.考虑分散存储

Posted by: 大CC | 04APR,2014
博客:blog.me115.com
微博:新浪微博

寻找Linux单机负载瓶颈的更多相关文章

  1. 查看LINUX当前负载

    Linux的负载高,主要是由于CPU使用.内存使用.IO消耗三部分构成.任意一项使用过多,都将导致服务器负载的急剧攀升. [root@ok Desktop]# w 20:41:47 up  2:48, ...

  2. Linux系统负载查询

    查询Linux系统负载情况,一般需要了解三个方面的信息: 1.Linux系统配置.如Linux版本号.CPU.内存.网络.磁盘等: 2.收集系统负载信息的手段.常用的工具包有sysstat和procp ...

  3. Linux系统负载排查

    参考  http://www.ruanyifeng.com/blog/2011/07/linux_load_average_explained.html 在Linux系统中,我们一般使用uptime命 ...

  4. linux 平均负载 load average 的含义【转】

    文章来源: linux 平均负载 load average 的含义 load average 的含义 平均负载(load average)是指系统的运行队列的平均利用率,也可以认为是可运行进程的平均数 ...

  5. Linux单机环境下HDFS伪分布式集群安装操作步骤v1.0

    公司平台的分布式文件系统基于Hadoop HDFS技术构建,为开发人员学习及后续项目中Hadoop HDFS相关操作提供技术参考特编写此文档.本文档描述了Linux单机环境下Hadoop HDFS伪分 ...

  6. Linux CPU负载状态:%us/%sy/%ni/%id/%wa/%hi/%si/%st含义

    原文 Linux CPU负载状态:%us/%sy/%ni/%id/%wa/%hi/%si/%st含义 缙哥哥发现用了雅黑的探针,在 Linux 的 CPU 状态信息中发现,有“%us.%sy.%ni. ...

  7. linux 系统负载高 如何检查

    1:load Average 1.1:什么是Load?什么是Load Average?    Load 就是对计算机干活多少的度量(WikiPedia:the system Load is a mea ...

  8. linux内存负载分析

    衡量内存负载的一个很重要的指标就是页面置换的频率.当linux系统频繁的对页进行换进换出 的时候,说明物理内存不过,不得不进行频繁的置换页面. 使用vmstat(virtual memory stat ...

  9. linux服务器负载问题排查

    目录 一.CPU和内存问题 top命令 vmstat命令 free命令 二.磁盘问题 iostat命令 iotop命令 du和df命令 三.网络问题 nload命令 nethogs tcpdump 最 ...

随机推荐

  1. 匹配 prev 元素之后的所有 siblings 元素

    描述: 找到所有与表单同辈的 input 元素 HTML 代码: <form> <label>Name:</label> <input name=" ...

  2. Backup: Flow Control in Perl6

    Control Flow 注意空格,注意空格,注意空格 和 Perl5不同的是,这些结构都可以返回值,而且即使倒置结构也可以用 block 了 block 可以有逗号 with without orw ...

  3. kmemleak的使用---内存泄露检测工具【转】

    转自:http://blog.csdn.net/lishenglong666/article/details/8287783 版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[-] ...

  4. 为Docker容器配置固定IP

    当docker以桥接的方式启动容器时,容器内部的IP是经过DHCP获取的,例如:172.17.0.8/32,且每重启依次IP都会发生变动.某些特殊的情况下,需要容器内有自己固定的一个内部IP.我的实现 ...

  5. 利用OpenStack Rest API 创建镜像

    服务端点: image API: POST     /v2/images Request1:     Method:Post     Url: http://192.168.31.147:9292/v ...

  6. IIS管理网站浏览

    7.“/”应用程序中的服务器错误. 分析器错误 说明: 在分析向此请求提供服务所需资源时出错.请检查下列特定分析错误详细信息并适当地修改源文件.分析器错误消息: 文件“/Default.aspx.cs ...

  7. linux命令:du 命令

    Linux du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的. 1.命令格式: du [选项][文件] 2.命令功能 ...

  8. Linux C socket 编程之TCP

    推荐:http://www.cnblogs.com/tianshuai11/archive/2011/11/30/2477224.html

  9. css缩写

    颜色: 16进制的色彩值为六位数,如果每两位的值相同,可以缩写一半. 如:#000000=#000: #223344=#234: 盒子的尺寸: 如margin:value; 一个值表示所有边,两个值表 ...

  10. python:配置文件configparser

    #-*- coding:utf8 -*- # Auth:fulimei import configparser #第一个标签 conf=configparser.ConfigParser() conf ...