Nmon

Last updated
nmon
Original author(s) Nigel Griffiths
Developer(s) IBM
Stable release
16p [1]   OOjs UI icon edit-ltr-progressive.svg / 27 August 2023;5 months ago (27 August 2023)
Operating system AIX, Linux
Type System monitor
License GNU GPL (Linux), Proprietary software (AIX)
Website nmon.sourceforge.io OOjs UI icon edit-ltr-progressive.svg

nmon (Nigel's Monitor [2] ) is a computer performance system monitor tool for the AIX and Linux operating systems. [3] [4] The nmon tool has two modes a) displays the performance stats on-screen in a condensed format or b) the same stats are saved to a comma-separated values (CSV) data file for later graphing and analysis to aid the understanding of computer resource use, tuning options and bottlenecks.

Contents

nmon for Linux is open source and available under GNU General Public License while the nmon for AIX is a proprietary software integrated into AIX.

Description

nmon collects the following operating system statistics:

When viewing in on-screen mode the stats displayed are controlled by the user using single letter toggles. For example, "c" to show CPU and then another "c" will switch the CPU stats off. Use h to display a list of the options.

When saving the stats to a file, there is a common default set of stats and then users can request more using command line options. Use nmon -? to display all the options.

The output file can be analyzed with nmon_analyzer. [5]

History

The original nmon version was for the IBM AIX operating system (Release 4.3 and above) and was freely downloadable binary format only tool from the IBM AIX wiki. [6]

The two editions (AIX and Linux) have completely different source code but offer many similar features, command line options and data as much as the underlying operating system allow.

Features

  1. In Online Mode it uses curses for efficient screen handling, which updates the terminal frequently for real-time monitoring.
  2. In Capture Mode, the data is saved to a file in CSV format for later processing and graphing. The file also includes important configuration details that are useful for recommending tuning.

Screenshots

Alternatives

On AIX, there is the topas command that can output reports to a file but this is not in a format that can be used easily as a source for a spreadsheet or web tools like RRDtool.

On Linux, there is the top command which is good for CPU and processes but does not cover disks and networks. For disk I/O, the iostat command can give you the details and ntop for network information. But neither of these commands allow saving data in a format suitable for a spreadsheet or simple further processing. Linux utility dstat can be used to produce text data, even in comma separated value format, which is quite suitable for spreadsheet programs.

Related Research Articles

<span class="mw-page-title-main">IBM AIX</span> Series of Unix operating systems from IBM

AIX is a series of proprietary Unix operating systems developed and sold by IBM for several of its computer platforms.

<span class="mw-page-title-main">Operating system</span> Software that manages computer hardware resources

An operating system (OS) is system software that manages computer hardware and software resources, and provides common services for computer programs.

Journaled File System (JFS) is a 64-bit journaling file system created by IBM. There are versions for AIX, OS/2, eComStation, ArcaOS and Linux operating systems. The latter is available as free software under the terms of the GNU General Public License (GPL). HP-UX has another, different filesystem named JFS that is actually an OEM version of Veritas Software's VxFS.

x86-64 64-bit version of x86 architecture

x86-64 is a 64-bit version of the x86 instruction set, first announced in 1999. It introduced two new modes of operation, 64-bit mode and compatibility mode, along with a new 4-level paging mode.

NTLDR is the boot loader for all releases of Windows NT operating system from 1993 with the release of Windows NT 3.1 up until Windows XP and Windows Server 2003. From Windows Vista onwards it was replaced by the BOOTMGR bootloader. NTLDR is typically run from the primary storage device, but it can also run from portable storage devices such as a CD-ROM, USB flash drive, or floppy disk. NTLDR can also load a non NT-based operating system given the appropriate boot sector in a file.

In computing, Physical Address Extension (PAE), sometimes referred to as Page Address Extension, is a memory management feature for the x86 architecture. PAE was first introduced by Intel in the Pentium Pro, and later by AMD in the Athlon processor. It defines a page table hierarchy of three levels (instead of two), with table entries of 64 bits each instead of 32, allowing these CPUs to directly access a physical address space larger than 4 gigabytes (232 bytes).

<span class="mw-page-title-main">Xen</span> Type-1 hypervisor

Xen is a free and open-source type-1 hypervisor, providing services that allow multiple computer operating systems to execute on the same computer hardware concurrently. It was originally developed by the University of Cambridge Computer Laboratory and is now being developed by the Linux Foundation with support from Intel, Citrix, Arm Ltd, Huawei, AWS, Alibaba Cloud, AMD, Bitdefender and epam.

<span class="mw-page-title-main">UEFI</span> Operating system and firmware specification

Unified Extensible Firmware Interface is a specification that defines the architecture of the platform firmware used for booting the computer hardware and its interface for interaction with the operating system. Examples of firmware that implement the specification are AMI Aptio, Phoenix SecureCore, TianoCore EDK II, InsydeH2O. UEFI replaces the BIOS which was present in the boot ROM of all personal computers that are IBM PC compatible, although it can provide backwards compatibility with the BIOS using CSM booting. Intel developed the original Extensible Firmware Interface (EFI) specification. Some of the EFI's practices and data formats mirror those of Microsoft Windows. In 2005, UEFI deprecated EFI 1.10.

<span class="mw-page-title-main">QEMU</span> Free virtualization and emulation software

QEMU is a free and open-source emulator. It emulates a computer's processor through dynamic binary translation and provides a set of different hardware and device models for the machine, enabling it to run a variety of guest operating systems. It can interoperate with Kernel-based Virtual Machine (KVM) to run virtual machines at near-native speed. QEMU can also do emulation for user-level processes, allowing applications compiled for one architecture to run on another.

The proc filesystem (procfs) is a special filesystem in Unix-like operating systems that presents information about processes and other system information in a hierarchical file-like structure, providing a more convenient and standardized method for dynamically accessing process data held in the kernel than traditional tracing methods or direct access to kernel memory. Typically, it is mapped to a mount point named /proc at boot time. The proc file system acts as an interface to internal data structures about running processes in the kernel. In Linux, it can also be used to obtain information about the kernel and to change certain kernel parameters at runtime (sysctl).

OS-level virtualization is an operating system (OS) virtualization paradigm in which the kernel allows the existence of multiple isolated user space instances, called containers, zones, virtual private servers (OpenVZ), partitions, virtual environments (VEs), virtual kernels, or jails. Such instances may look like real computers from the point of view of programs running in them. A computer program running on an ordinary operating system can see all resources of that computer. However, programs running inside of a container can only see the container's contents and devices assigned to the container.

vmstat is a computer system monitoring tool that collects and displays summary information about operating system memory, processes, interrupts, paging and block I/O. Users of vmstat can specify a sampling interval which permits observing system activity in near-real time.

ntoskrnl.exe, also known as the kernel image, contains the kernel and executive layers of the Microsoft Windows NT kernel, and is responsible for hardware abstraction, process handling, and memory management. In addition to the kernel and executive mentioned earlier, it contains the cache manager, security reference monitor, memory manager, scheduler (Dispatcher), and blue screen of death.

The following is a timeline of virtualization development. In computing, virtualization is the use of a computer to simulate another computer. Through virtualization, a host simulates a guest by exposing virtual hardware devices, which may be done through software or by allowing access to a physical device connected to the machine.

<span class="mw-page-title-main">Kernel-based Virtual Machine</span> Virtualization module in the Linux kernel

Kernel-based Virtual Machine (KVM) is a free and open-source virtualization module in the Linux kernel that allows the kernel to function as a hypervisor. It was merged into the mainline Linux kernel in version 2.6.20, which was released on February 5, 2007. KVM requires a processor with hardware virtualization extensions, such as Intel VT or AMD-V. KVM has also been ported to other operating systems such as FreeBSD and illumos in the form of loadable kernel modules.

PowerVM, formerly known as Advanced Power Virtualization (APV), is a chargeable feature of IBM POWER5, POWER6, POWER7, POWER8, POWER9 and Power10 servers and is required for support of micro-partitions and other advanced features. Support is provided for IBM i, AIX and Linux.

sar (Unix) Unix command to collect, report or save system activity information

System Activity Report (sar) is a Unix System V-derived system monitor command used to report on various system loads, including CPU activity, memory/paging, interrupts, device load, network and swap space utilization. Sar uses /proc filesystem for gathering information.

perf is a performance analyzing tool in Linux, available from Linux kernel version 2.6.31 in 2009. Userspace controlling utility, named perf, is accessed from the command line and provides a number of subcommands; it is capable of statistical profiling of the entire system.

In computing, OProfile is a system-wide statistical profiling tool for Linux. John Levon wrote it in 2001 for Linux kernel version 2.4 after his M.Sc. project; it consists of a kernel module, a user-space daemon and several user-space tools.

References

  1. "nmon for Linux" . Retrieved 18 February 2024.
  2. Layton, Jeff. "Monitoring with Nmon » ADMIN Magazine". ADMIN Magazine. Retrieved September 10, 2017.
  3. Wallen, Jack (2017-03-14). "How to monitor your Linux servers with nmon". TechRepublic. Retrieved 2020-12-07.
  4. Terpollari, Oltjano. "Nmon: Analyze and Monitor Linux System Performance". www.tecmint.com. Retrieved 2020-12-07.
  5. Griffiths, Nigel (2020-01-13). "nmon_analyser: A free tool for producing AIX performance reports". developer.ibm.com.
  6. Griffiths, Nigel (February 27, 2006). "IBM Developer". IBM developerWorks. Archived from the original on January 28, 2015. Retrieved January 24, 2015.
  7. "nmon for Linux | Main / HomePage". nmon.sourceforge.net. Retrieved January 24, 2015.
  8. "nmon Command". Archived from the original on October 11, 2014. Retrieved January 24, 2015.
  9. "Commands Reference, Volume 5, s - u" (PDF). IBM. p. 386.