yapfr


What it is:

yapfr is a Linux specific, console based, system performance monitor (/proc file reader). It is designed to provide a quick means to evaluate performance and find bottlenecks on systems.

Some notable features of yapfr are:


Design Philosophy:

If any can be claimed, it is to:

As for the name... I figure the Unix world needs yet another program that begins with ya.


Screen-shots:

Disk Graph Mode
This is a RHEL 4 system running in a vmware session. yapfr is in "disk graph" mode. VMWare is an excellent means of testing against multiple Linux distributions.

+--------------------------+-----------------+--Runlevel: N 5---+--V: 2.0.1--+
| lnx408                   |14:57:30 05/20/03| up   0d 23h57m52s|    2 Users |
+--------------------------+-----------------+---------------{2.4.19-64GB-SMP}
| User   20.8 % [####                ]  System 4.8  % [                    ] |
| Idle   74.5 % [##############      ]  Nice   0.0  % [                    ] |
+----------------------------------------------------------------------------+
| Load:    1: 0.89    5: 0.74    15: 0.39   [                              ] |
+----------------------------------------------------------------------------+
| CPU3  User  44% [#########            ]  Idle  49% [##########           ] |
|     System   7% [#                    ]  Nice   0% [                     ] |
| CPU2  User  25% [#####                ]  Idle  64% [#############        ] |
|     System  11% [##                   ]  Nice   0% [                     ] |
| CPU1  User   1% [                     ]  Idle  99% [#################### ] |
|     System   0% [                     ]  Nice   0% [                     ] |
| CPU0  User  13% [##                   ]  Idle  86% [##################   ] |
|     System   1% [                     ]  Nice   0% [                     ] |
+----------------------------------------------------------------------------+
This is a four processor system running in CPU mode running SuSE Enterprise 8.

+--------------------------+-----------------+--Runlevel: N 3---+--V: 3.17.0-+
| paris.favorite.com       |12:19:32 10/11/05| up   0d 19h14m30s|   10 Users |
+--------------------------+-----------------+-------------{2.6.11-1.1369_FC4}
| User   1.0  % [                    ]  System 0.0  % [                    ] |
| Idle   99.0 % [################### ]  Nice   0.0  % [                    ] |
| Wait:  0.0  % [                    ]  Interrupts Hard: 0.0  % Soft: 0.0  % |
+----------------------------------------------------------------------------+
| Load:    1: 0.00    5: 0.00    15: 0.00   [                              ] |
+----------------------------------------------------------------------------+
| CPU0  User   1% [                     ]  Idle  99% [#################### ] |
|     System   0% [                     ]  Nice   0% [                     ] |
|    Speed: 1797.516  BogoMIPS: 3555.32   Cache: 256 KB    HyperThreading: N |
+----------------------------------------------------------------------------+
This is a single processor system running in CPU mode running Fedora Core 4.

+--------------------------+-----------------+--Runlevel: N 3---+--V: 2.0.2--+
| lnx408                   |15:03:36 05/21/03| up   0d 19h 7m13s|    6 Users |
+--------------------------+-----------------+---------------{2.4.19-64GB-SMP}
| User   0.2  % [                    ]  System 0.0  % [                    ] |
| Idle   99.8 % [################### ]  Nice   0.0  % [                    ] |
+----------------------------------------------------------------------------+
| Load:    1: 0.85    5: 0.35    15: 0.13   [                              ] |
+----------------------------------------------------------------------------+
| Mount                        Space________%___ Inodes_________________%___ |
|_Point________________________Total_Avail__Used_Total_______Avail______Used_|
| /                              3 G   3 G   16% 4294967295  4294967295   0% |
|   [###########                                                           ] |
| /boot                        104 M  65 M   37% 4294967295  4294967295   0% |
|   [#########################                                             ] |
| /home                          4 G   4 G    1% 4294967295  4294967295   0% |
|   [                                                                      ] |
| /usr                           8 G   6 G   20% 4294967295  4294967295   0% |
|   [##############                                                        ] |
| /var                           2 G   1 G   27% 4294967295  4294967295   0% |
|   [###################                                                   ] |
| /fs/reiser                     4 G   3 G   33% 4294967295  4294967295   0% |
|   [#######################                                               ] |
| /fs/xfs                        4 G   1 G   66% 4198272     3882168      8% |
|   [##############################################                        ] |
| /fs/jfs                        4 G   1 G   67% 3096736     2772101     10% |
|   [##############################################                        ] |
| /fs/ext3                       4 G   1 G   65% 524832      189538      64% |
|   [#############################################                         ] |
+----------------------------------------------------------------------------+
This system is running mostly Reiser file systems (note the inode counts) except for the bottom few filesystems. An interesting note: The bottom four filesystems hold the same number of files (approx 1/4 Million).

Memory Mode

This is my workstation running in "memory" mode.

Load Mode

This is my workstation running in "load" mode.

Partition mode

This is my workstation running in "partition" mode.


The Distribution:

The source:

The distribution is source only. It is tested against multiple distributions on multiple architectures, but is not maintained as a package for each.

Development: yapfr-4_3_0.tar.gz

Production: yapfr-4_2_13.tar.gz

Recommended: yapfr-4_2_14.tar.gz

Latest Development releases:

yapfr-4_3_0.tar.gz

yapfr-4_2_14.tar.gz

yapfr-4_2_13.tar.gz

yapfr-4_2_9.tar.gz

The code is in C++ and requires the standard tools and utilities to build. It compiles against ncurses.h and links against the curses libraries. For this reason, the (n)curses development packages must be installed. The documentation is written in LaTeX and requires pdflatex to compile.

If your system does not include the TeX tools then you can run make with the target of "yapfr" instead of just "make". The pdf documentation is available online here for those without the TeX tools.

This code is released under the GPL.

All older versions have been removed. The feature-set, stability, and accuracy of the latest version is significantly better than the older versions.


Development Notes:


Archived Versions:

yapfr-4_2_2.tar.gz

yapfr-4_2_1.tar.gz

yapfr-4_1_2.tar.gz

yapfr-4_1_0.tar.gz

yapfr-3_27_0.tar.gz

yapfr-3_17_0.tar.gz

yapfr-3_10_0.tar.gz (Tested on: SuSE 9 PPC & x86, RHEL 3/4 PPC & x86)

yapfr-3_6_5.tar.gz (Tested on Red Hat Power PC port and Red Hat AS 4)

yapfr-3_6_2.tar.gz (2.6 compatible)

yapfr-3_6_1.tar.gz (2.6 compatible)

yapfr-2_28_3.tar.gz (2.6 compatible)

yapfr-2_14_0.tar.gz (2.6 compatible)

yapfr-2_9_11.tar.gz

yapfr-2_9_2.tar.gz

yapfr-2_5_1.tar.gz