CPU, RAM, and load monitor for use with tmux
Go to file
2016-02-10 16:54:09 -05:00
common Add header guard to conversions.h 2016-02-10 16:54:09 -05:00
freebsd Give the MEMORY_MODE enum a name. 2016-02-10 16:47:29 -05:00
linux Give the MEMORY_MODE enum a name. 2016-02-10 16:47:29 -05:00
netbsd Give the MEMORY_MODE enum a name. 2016-02-10 16:47:29 -05:00
openbsd Give the MEMORY_MODE enum a name. 2016-02-10 16:47:29 -05:00
osx Fix whitespace in osx/memory.cc. 2016-02-10 16:48:37 -05:00
.gitignore added cmake generated config.h file to gitignore 2015-01-18 17:24:17 +01:00
.travis.yml Also run an OSX Travis build. 2015-01-26 15:57:36 -05:00
AUTHORS Add Jasper to contributors. 2015-03-01 19:23:25 -05:00
CMakeLists.txt Adhere to the styling guide, added enum for memory modes, refractored memory mode if block to use switch instead and added test cases for free memory and user percentage memory modes 2016-02-10 22:49:49 +02:00
CONTRIBUTING.rst suggestion about script that can be used to strip whitespaces 2015-01-20 15:13:39 +01:00
LICENSE Add Apache-2.0 license. 2012-11-25 17:20:31 +00:00
README.rst Add new mode to other platforms and indicate mac only support in README 2016-02-10 17:38:11 +02:00
tmux-mem-cpu-load.plugin.zsh Added License Information 2015-09-30 13:02:36 -07: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

.. image:: https://circleci.com/gh/thewtex/tmux-mem-cpu-load.svg?style=svg
  :target: https://circleci.com/gh/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, Mac OSX, FreeBSD, OpenBSD, and NetBSD 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

Build and Install Using `Antigen`_
-------

Include the bundle in your ``.zshrc``

::

  antigen bundle thewtex/tmux-mem-cpu-load

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 --interval 2)#[default]"
  set -g status-left-length 60

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

Another optional 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.

The *colors* option will add graded colors for each of the measures.

The full usage::

  Usage: tmux-mem-cpu-load [OPTIONS]

  Available options:
  -h, --help
           Prints this help message
  --colors
          Use tmux colors in output
  -i <value>, --interval <value>
          Set tmux status refresh interval in seconds. Default: 1 second
  -g <value>, --graph-lines <value>
          Set how many lines should be drawn in a graph. Default: 10
  -m <value>, --mem-mode
          Set the memory presentation mode, 0 for used/total, 1 for free memory and 2 for percentage.
          Currently supported only by OSX
          Default: 0


Authors
=======

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

Contributions from:

* Jasper Lievisse Adriaanse <jasper@humppa.nl>
* Justin Crawford <justinc@pci-online.net>
* krieiter <krieiter@gmail.com>
* Mark Palmeri <mlp6@duke.edu>
* `Pawel 'l0ner' Soltys`_ <pwslts@gmail.com>
* Travil Heller <trav.heller@gmail.com>
* Tony Narlock <tony@git-pull.com>


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