CPU, RAM, and load monitor for use with tmux
Go to file
Pawel "l0ner" Soltys 7c883b924a restore parsing of /proc/meminfo to get memory usage
See issue:
e7f2dd25e8 (commitcomment-9327932)

Unfortunately we can't pull info about cached memory from sysinfo.
Thus we need stick to /proc/meminfo parsing. See code for more comments.
2015-01-18 19:20:55 +01:00
argParse easier to read argv parse using command line argument parser by Michael Hanke 2015-01-07 20:57:25 +01:00
bsd renamed bsd/common.h to getsysctl.h to better reflect it's function 2015-01-18 17:27:08 +01:00
linux restore parsing of /proc/meminfo to get memory usage 2015-01-18 19:20:55 +01:00
osx use macros from config.h to calculate megabyes 2015-01-18 17:21:19 +01:00
.gitignore added cmake generated config.h file to gitignore 2015-01-18 17:24:17 +01:00
.travis.yml Do not run ctest in Travis. 2013-06-14 01:56:46 +00:00
AUTHORS added AUTHORS file to store all contributors 2015-01-18 14:27:30 +01:00
CMakeLists.txt use macros from config.h to calculate megabyes 2015-01-18 17:21:19 +01:00
config.h.in use macros from config.h to calculate megabyes 2015-01-18 17:21:19 +01:00
generate-luts.py Improve foreground contrast with colors. 2013-07-15 23:20:35 +00:00
graph.cc code syntax style, vim modelines, license 2015-01-18 14:36:59 +01:00
graph.h code syntax style, vim modelines, license 2015-01-18 14:36:59 +01:00
LICENSE Add Apache-2.0 license. 2012-11-25 17:20:31 +00:00
luts.h Improve foreground contrast with colors. 2013-07-15 23:20:35 +00:00
README.rst added myself (l0ner) to contributors list 2015-01-18 14:30:38 +01:00
tmux-mem-cpu-load.cpp use macros from config.h to calculate megabyes 2015-01-18 17:21:19 +01:00

====================================================
               tmux-mem-cpu-load
====================================================
----------------------------------------------------
CPU, RAM memory, and load monitor for use with tmux_
----------------------------------------------------

.. image:: https://travis-ci.org/thewtex/tmux-mem-cpu-load.svg
  :target: https://travis-ci.org/thewtex/tmux-mem-cpu-load

Description
===========

A simple, lightweight program provided for system monitoring in the *status*
line of **tmux**.

The memory monitor displays the used and available memory.

The CPU usage monitor outputs a percent CPU usage over all processors. It also
displays a textual bar graph of the current percent usage.

The system load average is also displayed.

Example output::

  2885/7987MB [|||||     ]  51.2% 2.11 2.35 2.44

   ^    ^          ^         ^     ^    ^    ^
   |    |          |         |     |    |    |
   1    2          3         4     5    6    7

1. Currently used memory.
2. Available memory.
3. CPU usage bar graph.
4. CPU usage percentage.
5. Load average for the past minute.
6. Load average for the past 5 minutes.
7. Load average for the past 15 minutes.

For `terminals with 256 color support`_, graded colors can be displayed by
passing the **--colors** flag.


Installation
============

Dependencies
------------

Currently, Linux and Mac OSX are supported.

Building
~~~~~~~~

* >= CMake_ -2.6
* C++ compiler with C++11 support (e.g. gcc/g++ >= 4.6)

Download
--------

There are links to the source code at the `project homepage`_.

Build
-----

::

  cd <source dir>
  cmake .
  make

Install
-------

::

  su -
  make install
  logout


Configuring tmux_
=================

Edit ``$HOME/.tmux.conf`` to display the program's output in *status-left* or
*status-right*.  For example::

  set -g status-interval 2
  set -g status-left "#S #[fg=green,bg=black]#(tmux-mem-cpu-load --colors 2)#[default]"

Note that the first argument to `tmux-mem-cpu-load` should be the same number
of seconds that *status-interval* is set at.

An optional second argument is the number of bars in the bar graph, which
defaults to 10.  This can, for instance, be set to the number of cores in a
multi-core system.


Author
======

Matt McCormick (thewtex) <matt@mmmccormick.com>

Contributions from:

* Justin Crawford <justinc@pci-online.net>
* krieiter <krieiter@gmail.com>
* Mark Palmeri <mlp6@duke.edu>
* `Pawel 'l0ner' Soltys`_ <pwslts@gmail.com>


.. _tmux: http://tmux.sourceforge.net/
.. _CMake: http://www.cmake.org
.. _`project homepage`: http://github.com/thewtex/tmux-mem-cpu-load
.. _`terminals with 256 color support`: http://misc.flogisoft.com/bash/tip_colors_and_formatting#terminals_compatibility
.. _`Pawel 'l0ner' Soltys` : http://l0ner.github.io/