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的更多相关文章

  1. nmon +java nmon Alalizy agent 动态交互监控

    下载地址:1. Download and install nmon. - for linux platform, you can download form: http://nmon.sourcefo ...

  2. nmon+Java Nmon Analyser进行nmon监控数据可视化分析

    我们知道nmon是一款轻量级的系统占用极少,监控功能非常强大支持跨平台ARM,centos,ubuntu等等系统的工具下载地:centos7 wget http://sourceforge.net/p ...

  3. Java开发必会的Linux命令

    Java开发必会的Linux命令 作为一个Java开发人员,有些常用的Linux命令必须掌握.即时平时开发过程中不使用Linux(Unix)或者mac系统,也需要熟练掌握Linux命令.因为很多服务器 ...

  4. 20145225《Java程序设计》实验一 Java开发环境的熟悉(Linux + Eclipse)

    20145225<Java程序设计> 实验一 Java开发环境的熟悉(Linux + Eclipse) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑 ...

  5. 使用Java管理千台规模Linux服务器_入门

    http://www.oschina.net/code/snippet_222919_11734 代码分享 当前位置: 代码分享 » Java  » 网络编程 搜 索   [饶过] 使用Java管理千 ...

  6. 实验一 Java开发环境的熟悉(Linux + Eclipse)

    学号 20175206 实验一 <Java开发环境的熟悉>实验报告 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实 ...

  7. 实验一 Java开发环境的熟悉(Linux + Idea) 20175301李锦然

    https://gitee.com/ShengHuoZaiDaXue/20175301.git 实验一 Java开发环境的熟悉(Linux + Idea) 实验内容 1.使用JDK编译.运行简单的Ja ...

  8. JAVA中调用LevelDB用于Linux和Window环境下快速存储KV结构

    一.简介 JAVA中调用LevelDB用于Linux和Window环境下快速存储KV结构 二.依赖 <!-- https://mvnrepository.com/artifact/org.fus ...

  9. 015-线程同步-synchronized几种加锁方式、Java对象头和Monitor、Mutex Lock、JDK1.6对synchronized锁的优化实现

    一.synchronized概述基本使用 为确保共享变量不会出现并发问题,通常会对修改共享变量的代码块用synchronized加锁,确保同一时刻只有一个线程在修改共享变量,从而避免并发问题. syn ...

随机推荐

  1. Linux系统挂载windows共享目录报错mount error(121):remote error I/O error

    经查,这是由于NFS(Network File System)即网络文件系统服务器有多个版本,V2.V3.V4.而且各版本同时运行,因此挂载时需要说明版本号 mount -o username='pk ...

  2. python nose测试框架全面介绍十一---用例的发现

    nose是怎么发现用例的??网上一大把说函数以test开头的都会自动发现,真的是这样吗???还是自己来试验下吧 首先,我们还是来看看官方文档怎么说的吧: If it looks like a test ...

  3. linux的基本操作(正则表达式)

    正则表达式 这部分内容可以说是学习shell脚本之前必学的内容.如果你这部分内容学的越好,那么你的shell脚本编写能力就会越强.所以不要嫌这部分内容啰嗦,也不要怕麻烦,要用心学习.一定要多加练习,练 ...

  4. 22.1 、react生命周期(一)

    在每个react组件中都有以下几个生命周期方法~我们需要在不同阶段进行讨论 组件生命周期概述 1.初始化 在组件初始化阶段会执行 constructor static getDerivedStateF ...

  5. LomBok插件的使用

    LomBok插件的使用 By Zhai 简介: LomBok是一个通过简单注解就可以减少一些冗余代码编写的小工具.例如 @Setter @Getter 用于实例类上该类就不需要写set get 方法. ...

  6. vue中mint-ui的index-list 在手机端滑动问题

    官方的demo这里滑动很流畅,按着官网demo复制的在手机上必须手指拖着才能动,不能滑动: 加入 这段代码就行 -webkit-overflow-scrolling: touch; overflow- ...

  7. SpringBoot定时任务说明

    1. 定时任务实现方式 定时任务实现方式: Java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务.使用这种方式可以让你的程序按照某一个频度执行 ...

  8. SpringMVC+MyBatis+Druid使用MySQL8.0.11版本

    1.使用MySQL8.0.11版本,要使用5.1.45或其他高版本驱动jar包,我本地使用的是最新的8.0.11 2.更换了MySQL驱动后,报Cannot find class [com.aliba ...

  9. Golang自定义包导入

    # 文件Tree project -/bin -/pkg -/src -main.go -/test -test1.go -test2.go main.go package main import ( ...

  10. LeetCode 206 Reverse Linked List 解题报告

    题目要求 Reverse a singly linked list. Example: Input: 1->2->3->4->5->NULL Output: 5-> ...