How use Nmon and "Java Nmon Analyzer" for Monitor Linux Performance
Nmon is a resource monitoring tools which can monitor CPU, Memory, Disks, Network and even Filesystem on RHEL / Ubuntu systems. Java Nmon Analyzer is a tool that uses the nmon output as an input. It will graph the nmon output into an informative graph to make it easier to read. This article I will show you how to install and use nmon on linux.
What is nmon and Java Nmon Analyzer
Nmon is short for Nigel’s Performance Monitor. This tool is used to monitor resources on Linux, Power, x86, x86_64, Mainframe and ARM (Raspberry Pi). There is two mode available of nmon.
1. Online Mode, which used to real-time monitoring.
2. Capture Mode, which the output will saved to a CSV file for later processing.
Java Nmon Analyzer will use nmon output as an input data to be processed. So to use it, we will first need to have nmon installed and working on your system. Let’s start.
Features
Nmon is specializing to monitor and analyzing performance which includes :
- CPU utilization
- CPU Long-term
- Memory usage
- Virtual memory
- Disks
- Resource
- Kernel
- Filesystem
- Network
- NFS
- Top-processes
Installing nmon
Nmon is available in binaries file or source code file for those who want to compile it by yourself. Binaries file is available on nmon download page while nmon source code is available in compiling nmon page. At this article is written, the latest version of nmon is 14g.
Method 1 : Using pre-compiled binaries file
- Download nmon_linux_14i.tar.gz
- Extract it
- Go to the folder you extracted
- Choose the appropriate binary file which match your system. For example, if you are using 32-bit version of Ubuntu 13, then you will found a binary file with name nmon_x86_ubuntu13
- To run it, just type ./nmon_x86_ubuntu13
Method 2 : Compile nmon from the source
If you want to compile nmon by yourself, here’s the steps :
- Download the source code file
- Download the makefile
- Rename the source code file to lmon.c . If you download lmon14g.c, then rename it.
- Look at the makefile content and file the directive that matches your platform and Linux release
- Make nmon. For example, if you are using Ubuntu 13.04, then you can type
$ make nmon_x86_ubuntu1304
- Done. Next, you will find a binary file which name nmon_x86_ubuntu1304
- Type ./nmon_x86_ubuntu1304 to run it

Note :
If you found about no ncurses.h file, then you need to install ncurses-dev package.

On Debian / Ubuntu based, you can install it using:
$ sudo apt-get install libncurses5-dev
How to Java Nmon Analyzer
Actually, we don’t install Java Nmon Analyzer. But we just run it with Java. This tool can be downloaded from Java Nmon Analyzer download page. After you finish download it, here are the steps how to run it.
- Download and install nmon (make sure you have it)
- Make a pipe for nmon
# mkfifo /tmp/nmonnamedpipe
- Run analyzer agent in the target host :
# java -cp nmonanal_0.1.2.jar li.xiang.nmonanalyser.agent.Agent
The li.xiang.nmonanalyser.agent.Agent is a syntax. Don’t change it.
If it success, you will see a message below :

- Run nmon, begin performance capture
# nmon -s 20 -c 360 -F /tmp/nmonnamedpipe
20 second per snapshot, capture 360 snapshots, totally 2 hrs. you can put the command in crontab for long time data capture.
If it success, you will see an IP Address connected. See below :

- Run Java Nmon Analyzer GUI
# java -jar nmonanal_0.1.2.jar
A pop-up window name System Performance Monitor for LINUX & AIX will show. Then you need to load the data.
- Click Data Loader > From Agent. Then enter target IP Address and its port. By default, it will use 8187 port number

- Click OK
- Wait for couple seconds and the GUI start showing you the result




You can also choose to display the output within the specific time range. The available time range are :
- 1 minutes
- 5 minutes
- 10 minutes
- 30 minutes
- 1 hours
- 2 hours
- 3 hours
- 6 hours
- 12 hours
- 1 day
- 2 day
With Java Nmon Analyzer, we can graph nmon output to make it easier to read. This application also easy to use because we don’t need to install it and it has simple menus to understand.
How use Nmon and "Java Nmon Analyzer" for Monitor Linux Performance的更多相关文章
- nmon +java nmon Alalizy agent 动态交互监控
下载地址:1. Download and install nmon. - for linux platform, you can download form: http://nmon.sourcefo ...
- nmon+Java Nmon Analyser进行nmon监控数据可视化分析
我们知道nmon是一款轻量级的系统占用极少,监控功能非常强大支持跨平台ARM,centos,ubuntu等等系统的工具下载地:centos7 wget http://sourceforge.net/p ...
- Java开发必会的Linux命令
Java开发必会的Linux命令 作为一个Java开发人员,有些常用的Linux命令必须掌握.即时平时开发过程中不使用Linux(Unix)或者mac系统,也需要熟练掌握Linux命令.因为很多服务器 ...
- 20145225《Java程序设计》实验一 Java开发环境的熟悉(Linux + Eclipse)
20145225<Java程序设计> 实验一 Java开发环境的熟悉(Linux + Eclipse) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑 ...
- 使用Java管理千台规模Linux服务器_入门
http://www.oschina.net/code/snippet_222919_11734 代码分享 当前位置: 代码分享 » Java » 网络编程 搜 索 [饶过] 使用Java管理千 ...
- 实验一 Java开发环境的熟悉(Linux + Eclipse)
学号 20175206 实验一 <Java开发环境的熟悉>实验报告 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实 ...
- 实验一 Java开发环境的熟悉(Linux + Idea) 20175301李锦然
https://gitee.com/ShengHuoZaiDaXue/20175301.git 实验一 Java开发环境的熟悉(Linux + Idea) 实验内容 1.使用JDK编译.运行简单的Ja ...
- JAVA中调用LevelDB用于Linux和Window环境下快速存储KV结构
一.简介 JAVA中调用LevelDB用于Linux和Window环境下快速存储KV结构 二.依赖 <!-- https://mvnrepository.com/artifact/org.fus ...
- 015-线程同步-synchronized几种加锁方式、Java对象头和Monitor、Mutex Lock、JDK1.6对synchronized锁的优化实现
一.synchronized概述基本使用 为确保共享变量不会出现并发问题,通常会对修改共享变量的代码块用synchronized加锁,确保同一时刻只有一个线程在修改共享变量,从而避免并发问题. syn ...
随机推荐
- springCloud之配置中心学习
调试了好久,中与在地址栏输入http://localhost:9004/liyong-test/ms-dev.properties,奇迹出现了,终于可以访问我的配置中心了.这次也是碰运气,并没有觉得会 ...
- js 图片与base64互相转换
js将图片转化为base64 参考地址:http://www.cnblogs.com/mr-wuxiansheng/p/6931077.html var img = "imgurl" ...
- 深入理解Java虚拟机(笔记)
内存分配: 为对象分配内存有两种方式,第一种是“指针碰撞”,也就是把内存分为两边,一边是已使用区域,另一边是未分配区域,分界线用指针记录,当要分配内存时,只需把指针向未分配区域移动需要的空间即可,通常 ...
- Python学习之旅(二十三)
Python基础知识(22):进程和线程(Ⅰ) 1.多进程 (1)fork Python的os模块封装了常见的系统调用,其中就包括fork,可以在Python程序中轻松创建子进程 fork可以在Mac ...
- c3p0 空指针异常 com.mchange.v2.resourcepool.CannotAcquireResourceException: A ResourcePool could not acquire a resource from its primary factory or source.
com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@11d9f05 -- Acquisition Attempt Failed!!! C ...
- javascript 回调 继承
var my = function (name,fn){ alert(name); ...
- 前端模板 artTemplate之辅助方法template.helper
var labelMap = { onlinePayment:{ label:"在线支付", desc:"支持大部分储蓄卡.信用卡及第三方平台支付", name ...
- odoo二次开发 tips
1.model属性 每个对象(即class)一般由字段(变量)和函数组成,每个对象对应着数据库中的一张表,驼峰命名方式 models.Model 基础模块,会根据字段和模型名在后台数据库生成对应得表文 ...
- Django之get请求url的参数
当get网址是127.0.0.1:8000/mysite10这种类型的网址时 有两种方法: 1,在urls的路由的urlpatterns里面这样定义路由 re_path('^mysite(\d+)$' ...
- Elasticsearch学习笔记(一)cat API
一.Cat通用参数 Verbose GET /_cat/XXX/?v 开启详细输出 Help GET /_cat/XXX/?help 输出可用的列 Headers GET /_cat/XXX/?h=c ...