[Binospace] Linux系统性能分析的实践方法
2014-02-25 16:08
399 查看
任何系统的性能分析以及分布式负载平衡策略的执行,需要首先了解当前系统的资源使用情况。
从资源角度进行划分,可以把资源分为如下4类:
1)处理器资源,CPU
2)内存资源,Memory,从广义概念上讲,这还包括Swap\Cache\Buffer等
3)磁盘资源,Disk
4) 网络资源,Network IO,从广义概念上讲,还要考虑上层网络交换机的带宽和交换机之间的带宽。
1、CPU分析
CPU分析常用的工具top。
2、内存分析
内存分析最常用的工具有free、vmstat等。
一般内存的分析要分成两个层次来进行:
1)系统层面上。free可以查看当前系统的内存使用状况,用来分析机器的内存整体使用状况。
Linux内核为了获取更好的性能,总会尽可能地使用空余内存作为系统Cache,从上图可以看到有23G的系统Cache,对于读多写少的应用而言,这个数据是正常的。
vmstat是一个可以实时查看当前CPU、内存、swap使用的情况,该命令是系统监控与分析的一个常用工具。
- procs:标识了当前有多少进程正在等待执行,由此来判断是否因为资源紧张而造成进程的流程运行。r标示了有多少个进程等待获得CPU访问权限,b代表了有多少个进程处于Sleep状态。一般而言,r b都为0,如果出现b>0的情况,往往是CPU资源不足的一个信号,此时,或许有大量的IO吞吐的应用在执行,或者运行的process消耗了太多的CPU时间片。
- memory: 标识了系统的内存使用状况。具体数值与free命令类似。
- swap:标识了系统的swap的使用的情况,si代表了当前有多少数据从swap区域被置换到内存区域,so代表有多少数据从内存区域被换入到swap。如果系统出现频繁的出现swap换入换出的状况,会影响到系统的性能。
- io:标识了磁盘的读写的活跃情况。bi每秒读block的个数,bo每秒写block的个数,上图中,可以看到当前系统会有较多的写磁盘操作。
- System:in代表每秒系统中断的个数,包括来自于System Clock的中断;cs代表系统上下文切换的次数。
- CPU:us代表用于处理用户态任务的百分比,sy kernel相关的任务占用的百分比,id 空闲状态的百分比,wa:等待IO的百分比。根据经验,id低于40%表示当前系统处于比较繁忙的状态,wa如果较大往往会造成procs中r的值升高。
From Binospace, post 系统性能分析的实践方法
文章的脚注信息由WordPress的wp-posturl插件自动生成
相关文章推荐
- Linux常用系统性能分析和方法
- Linux 下使用 NMON 分析系统性能
- Linux系统性能分析工具-操作篇
- 查看linux服务器配置和TOP命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况。
- 关于linux系统性能的查看与分析
- linux系统性能优化及瓶颈分析
- linux系统的各种性能分析工具一栏表
- Linux系统性能分析工具-操作篇
- Linux下运行OProfile进行系统性能分析
- linux系统的性能问题排除分析
- Linux--系统性能分析命令备忘
- linux下 系统性能分析
- 嵌入式:Linux jffs2,yaffs2,logfs,ubifs文件系统性能分析
- Linux系统性能分析
- linux系统性能分析及调优比较好用的俩命令
- Linux系统下常见性能分析工具的使用
- linux内核中断、异常、系统调用的分析以及实践
- Android筆記-Linux Kernel Ftrace (Function Trace)解析(非常强悍的性能分析方法)
- Linux 系统性能分析