性能分析之工具使用——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 ...
随机推荐
- Bug(1)
程序要求:内网之间客户端截屏(.bmp)并传送给服务端. server: #include <winsock2.h> // 为了使用Winsock API函数 #include <s ...
- 面试易错题 Java
1. int[] arr = new int[10]; System.out.println(arr);//地址值? char[] arr1 = new char[10]; System.out.pr ...
- Java中String常用方法总结
package cn.zhang.Array; /** * String类的一些常用方法 * @author 张涛 * */ public class TestString { public stat ...
- 爬虫—GEETEST滑动验证码识别
一.准备工作 本次使用Selenium,浏览器为Chrome,并配置好ChromDriver 二.分析 1.模拟点击验证按钮:可以直接使用Selenium完成. 2.识别滑块的缺口位置:先观察图 ...
- NOIp2017TG解题报告
NOIp2018RP++! 虽然没去但还得写写QAQ D1T1 : 小凯的疑惑 数学题 手推几组数据然后发现规律 \(Ans = (a-1)(b-1)+1\) AC in 1minite D1T2 : ...
- LFW Face Database下载
http://vis-www.cs.umass.edu/lfw/ Download the database: All images as gzipped tar file (173MB, md5su ...
- HDU重现赛之2019CCPC-江西省赛
本人蒟蒻,5个小时过了5道,看到好几个大佬AK,%%%%%%% http://acm.hdu.edu.cn/contests/contest_show.php?cid=868 先放大佬的题解(不是我写 ...
- Pytorch的19种损失函数
基本用法 12 criterion = LossCriterion() loss = criterion(x, y) # 调用标准时也有参数 损失函数 L1范数损失:L1Loss 计算 output ...
- 浅谈Java中的泛型
泛型是Java自JDK5开始支持的新特性,主要用来保证类型安全.另外泛型也让代码含义更加明确清晰,增加了代码的可读性. 泛型的声明和使用 在类声明时在类名后面声明泛型,比如MyList<T> ...
- Android library 传入本地maven仓库
在项目根目录gradle.properties 添加 #包信息 GROUP_ID = com.chao.myvideo # Licence信息 PROJ_LICENCE_NAME=The Apache ...