性能分析之工具使用——cpu、io 、mem【工具分析】
nmon
nmon 是一种在aix 与各种 Linux 操作系统上广泛使 用的监控与与分析工具,他主要记录以下内容:
• cpu 占用率
• 内存使用情况
• 磁盘I/O 速度、传输和读写比率
• 文件系统的使用率
• 网络I/O 速度、传输和读写比率、错误统计率与传输包的大小
• 消耗资源最多的进程
• 计算机详细信息和资源
• 页面空间和页面I/O 速度
• 用户自定义的磁盘组
• 网络文件系统
下载
nmon 下载到IBM官方网站即可下载,下载时候注 意选择对应的操作系统版本
分别输入c 、t 、n 、m,可以了解系统cpu ,内存, 消耗资源最高的线程的使用情况。

输出文件
为了实时监控系统在一段时间内的使用情况并将 结果记录下来,我们可以通过运行以下命令实现:
• #./ nmon -fT -s 2 -c 2
-s 2:每2秒进行一次数据采集
-c 2: 一共采集 2次
输入命令后,将自动在当前目录生成一个hostname_timeSeries.nmon 的文件(hostname为当前见识的服务器的主机名)如: djt_137_188_130226_1749.nmon
输出文件图形化分析
上面输出文件后,就需要生成图形化结果 ,进行数据分析:
1 、 下载nmon analyser.xls工具
2 、 打开nmon analyser.xls工具
3 、 调整excel宏安全性:工具-宏-安全性 • (修改安全级别与可靠发行商)
• 安全级别: 低
• (勾上)信任所有安装的加载项和模板
• (勾上)信任对于“Visual Baisc 项目”的访问
4 、 修改完后,确定-关闭nmon analyser.xls,重新打 开
5 、 点击Analyse nmon data 按钮,加载之前下载 djt_137_188_130226_1749.nmon 文件
nmon分析指标详解
1. 各sheet页含义解释 2. nmon分析文件详细指标解释 3. nmon关键指标列表

总体结果图

具体指标分析
Uer%:用户状态的cpu占用率,如果该状态的cpu资源占有率很高,超 出了预定的性能指标,则先考虑优化程序,其次在考虑增加硬件。对于 java开发的系统,可以通过jprofiler性能监控工具,来查找最耗cpu资源的 代码段进行优化,缩短程序的运行时间,从而达到对系统性能的提高。
Sys%:系统状态cpu占用率,主要用于处理系统内核进程间切换的调度。当 Sys%占用较高的比例时,则此时系统在忙于处理进程调度,说明cpu浪费在进 程切换上的时间比较大, 可以考虑增大时间片长度,然而如果时间片太长则 无法保证多任务实时性以及交互性;或者减少应用程序进程数。
Wait%:指CPU空闲且用于等待IO操作完成的时间比例。当wait比例逐渐增高 时,可能是磁盘读写有问题;对数据库系统来说,wait比例逐渐增高,有可 能意味着缓存命中率的降低,导致了磁盘读写的增加,此时可以适当增加缓 存大小。在上图中相对与user%和sys%来说,cpu wait比例较大,则观察磁盘 IO的繁忙状态比例如下图

对IO频繁的系统,磁盘IO有可能成为系统的性能瓶颈。检查磁盘的I/O情况首 先查看磁盘的繁忙情况,如下图显示的是每个磁盘运行时间变化的磁盘繁忙 状态的比例。
当磁盘长期处于“忙”状态时,说明磁盘传输已经跟不上系统的需要,应该 考虑更换磁盘配置。
对数据库系统来说,当wait比例逐渐增高,磁盘读在增加,但写数据保持不 变,有可能意味着缓存命中率的降低,此时可以适当增加缓存大小。

出现问题:
错误:提示没有这个文件或目录
/usr/bin/lsb_release: 没有那个文件或目录

解决方案:
yum install redhat-lsb
或者
yum install redhat-lsb-core
spotlight
1、安装spotlight
2、配置spotlight,注意spotlight默认不能使用root用 户进行连接,需要用户自己创建一个具有root权限的 用户。
(1)useradd spotlight
(2)passwd spotlight;
(3)vim /etc/passwd
(4)将spotlight的权限改成0:0
或者:
# useradd -g root -G root spotlight
# passwd spotlight
创建具备 root 权限的用户 spotlight 并修改其密码,我这里修改的密码为:wuzongmei (这里输入了好多遍,这个密码应该有规则限制)
3、由于spotlight监控linux仍然使用linux的sysstat包, 所有需要安装sysstat包。
(1)检查是否安装sysstat包:rpm -q sysstat;
(2)如果没有,安装:rpm -ivh sysstat。
4、配置spotlight链接linux即可。
创建连接远程服务器:输入服务器ip和刚才创建的用户名和修改的密码,点击ok即可。

然后到下面这界面,是不是特别炫酷。
总体监控流向图

Ctrl+a 总体资源使用情况

Ctrl+a disk资源情况

• Ctrl+a 内存资源情况

其他自己看......就不一一截图了,图形化界面适合做报告图标,不适合定位具体的问题。
nmon
性能分析之工具使用——cpu、io 、mem【工具分析】的更多相关文章
- Java常用工具类之IO流工具类
package com.wazn.learn.util; import java.io.Closeable; import java.io.IOException; /** * IO流工具类 * * ...
- CPU IO MEM NETWork 监控命令
性能优化中CPU.内存.磁盘IO.网络性能的依赖(上) 性能优化中CPU.内存.磁盘IO.网络性能的依赖(下)
- CPU利用率异常的分析思路和方法交流探讨
CPU利用率异常的分析思路和方法交流探讨在生产运行当中,经常会遇到CPU利用率异常或者不符合预期的情况,此时,往往暗示着系统性能问题.那么究竟是核心应用的问题?是监控工具的问题?还是系统.硬件.网络层 ...
- linux性能优化cpu 磁盘IO MEM
系统优化是一项复杂.繁琐.长期的工作,优化前需要监测.采集.测试.评估,优化后也需要测试.采集.评估.监测,而且是一个长期和持续的过程,不 是说现在优化了,测试了,以后就可以一劳永逸了,也不是说书本上 ...
- Java 性能分析工具 , 第 1 部分: 操作系统工具
引言 性能分析的前提是将应用程序内部的运行状况以及应用运行环境的状况以一种可视化的方式更加直接的展现出来,如何来达到这种可视化的展示呢?我们需要配合使用操作系统中集成的程序监控工具和 Java 中内置 ...
- Windows五种IO模型性能分析和Linux五种IO模型性能分析
Windows五种IO模型性能分析和Linux五种IO模型性能分析 http://blog.csdn.net/jay900323/article/details/18141217 http://blo ...
- epoll 性能分析(解决占用CPU 过高问题)2
针对服务器框架Engine,在工作线程中发现该线程占用CPU过高,分析之后发现问题出在死循环那里 void cServerBase::OnProcess() { printf("cServe ...
- MySQL服务器 IO 100%的分析与优化方案
前言 压力测试过程中,如果因为资源使用瓶颈等问题引发最直接性能问题是业务交易响应时间偏大,TPS逐渐降低等.而问题定位分析通常情况下,最优先排查的是监控服务器资源利用率,例如先用TOP 或者nmon等 ...
- Centos下的IO监控与分析
近期要在公司内部做个Linux IO方面的培训, 整理下手头的资料给大家分享下 各种IO监视工具在Linux IO 体系结构中的位置 源自 Linux Performance and Tuni ...
- Linux下的IO监控与分析
Linux下的IO监控与分析 近期要在公司内部做个Linux IO方面的培训, 整理下手头的资料给大家分享下 各种IO监视工具在Linux IO 体系结构中的位置 源自 Linux Performan ...
随机推荐
- Python笔记_第四篇_高阶编程_检测_1.对函数进行单元检测
1. 对函数进行单元检测: 单元检测: 作用:用来对一个函数.一个类.一个模块进行正确性校验工作. 结果: * 单元测试通过,说明我们测试函数的功能正确. * 单元测试不通过,说明函数有BUG,要么测 ...
- 去掉select在苹果手机上的原生样式
outline: none; -webkit-appearance: none; 该属性会去掉select所有的默认样式,包括下拉箭头,因此需要通过额外的样式控制下拉箭头
- PAT Advanced 1069 The Black Hole of Numbers (20) [数学问题-简单数学]
题目 For any 4-digit integer except the ones with all the digits being the same, if we sort the digits ...
- ES6之展开运算符
本文介绍ES6新增的展开运算符(spread operator). 由上图可得,展开运算符负责拼装数组和对象,与之相反,解构赋值负责分解数组和对象. 由上图可得,展开运算符能和解构赋值一起发挥成更大的 ...
- SEO优化技巧
一.搜索引擎工作原理 当我们在输入框中输入关键词,点击搜索或查询时,然后得到结果.深究其背后的故事,搜索引擎做了很多事情. 在搜索引擎网站,比如百度,在其后台有一个非常庞大的数据库,里面存储了海量的关 ...
- 在Eclipse下远程调试Beagleboneblack
安装调试器 1. gdbserver 2. gdb-multiarch 建立工程 新建一个cpp工程,ToolChains选择Cross GCC 这里使用的是arm-linux-gnueabihf-的 ...
- Kubernetes系列:Kubernetes Dashboard
15.1.Dashboard 作为Kube认得Web用户界面,用户可以通过Dashboard在Kubernetes集群中部署容器化的应用,对应用进行问题处理和管理,并对集群本身进行管理.通过Dashb ...
- LeetCode No.139,140,141
No.139 WordBreak 单词拆分 题目 给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词. 说明: 拆分时可 ...
- 苹果为啥不愿意替美国FBI解锁,这是一种创新态度?
国外媒体报道,苹果计划对iPhone进行安全更新,最新版的iOS会在手机锁定一个小时后禁用手机充电和数据端口,这意味着,消费者丢失手机或者非正常离开iPhone之后,可以通过锁定手机,来避免手机数据被 ...
- python学习笔记(18)字典和json 的区别 和转换
字典和json 的区别 和转换 前言:字典和json非常像.接下来比较一下两者的异同 先看一下字典的写法: a = {'a':'1', 'b':'2', 'c':'3' } 再看一下json的写法: ...