性能分析之工具使用——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 ...
随机推荐
- 十六进制转化二进制[c]
#include<stdio.h> #include<string.h> #include<stdlib.h> int hex2dec(char c) { ; // ...
- 1. react 基础 简介 及 环境搭建
一.简介 由 Facebook 推出 2013 年 开源 的 函数式编程的 使用人数最多的 前端框架 拥有健全的文档与完善的社区 ( 官网 ) react 16 称为 React Fiber ( 底层 ...
- Mac系统的SVN客户端:Snail SVN 精简版
Mac系统的SVN客户端:Snail SVN 精简版 前言 本人在公司中,使用的是windows操作系统,svn客户端自然也就使用tortoise svn.但自从男朋友给我买了台macbook pro ...
- 系统学习python第五天学习笔记
1.列表补充 extend() li = ["alex", "WuSir", "ritian", "barry", &q ...
- 微信支付的Demo
是在一个子项目完成的, 依赖: <dependencies> <!-- spring-boot--> <dependency> <groupId>org ...
- MyBatis从入门到精通(第5章):MyBatis代码生成器
jdk1.8.MyBatis3.4.6.MySQL数据库5.6.45.Eclipse Version: 2019-12 M2 (4.14.0) MyBatis从入门到精通(第5章):MyBatis代码 ...
- 是时候写个自己的dialog了
组件下载地址:http://pan.baidu.com/s/1pJFVfej 最近做的项目需要用到对话框,但是原生的弹出框你是知道的.如果有时间,还是自己尝试一下,也是可以的. 一个简单图 里面的输入 ...
- 小白学习之pytorch框架(3)-模型训练三要素+torch.nn.Linear()
模型训练的三要素:数据处理.损失函数.优化算法 数据处理(模块torch.utils.data) 从线性回归的的简洁实现-初始化模型参数(模块torch.nn.init)开始 from torc ...
- swift------导入OC三方类找不到头文件的解决方法
1.首先新建个 swift工程 2.在swift 中新建 OC 类 比如新建 Request 类,会自动生成个.XXXX-Bridging-Header 类: 3.让后把 导入的第三方头文件导入进去. ...
- request请求生命周期
request请求生命周期 一.request请求分析 1.1. request数据请求 # views.py from rest_framework.views import APIView fro ...