System Metrics/Stats Library for Linux
Latest commit 5b847af Aug 25, 2015 @cgoldberg Merge pull request #6 from MarkMarine/master
Add try/except to account for line wrap
Failed to load latest commit information.
LICENSE update copyright Mar 31, 2012
MANIFEST fixed manifest Feb 13, 2013
README.rst Update README.rst Feb 17, 2013



System Metrics/Stats Library for Linux


linux-metrics is a Python package containing modules for getting OS metrics on systems running the Linux kernel. It is a pure python library with no external dependencies.

Basic stats for major subsystems are provided (Processor/CPU, Disk, Memory, Network).

Install from PyPI

  • pip install linux-metrics


  • Python 2.6/2.7/3.1/3.2/3.3/PyPy
  • Linux 2.6+

Example Usage

print number of processes running:

from linux_metrics import cpu_stat

print cpu_stat.procs_running()

print CPU utilization every 5 secs:

>>> from linux_metrics import cpu_stat
>>> while True:
...     cpu_pcts = cpu_stat.cpu_percents(5)
...     print 'cpu utilization: %.2f%%' % (100 - cpu_pcts['idle'])
cpu utilization: 0.70%
cpu utilization: 0.50%
cpu utilization: 24.80%
cpu utilization: 20.89%
cpu utilization: 40.04%


* linux_metrics
  * cpu_stat
    * cpu_times()
    * cpu_percents(sample_duration=1)
    * procs_running()
    * procs_blocked()
    * load_avg()
    * cpu_info()
  * disk_stat
    * disk_busy(device, sample_duration=1)
    * disk_reads_writes(device)
    * disk_usage(path)
    * disk_reads_writes_persec(device, sample_duration=1)
  * mem_stat
    * mem_stats()
  * net_stat
    * rx_tx_bytes(interface)
    * rx_tx_bits(interface)
    * rx_tx_dump(interface)


linux-metrics package contains an example script:

Unit Tests

You can run the included unit tests and verify all cases pass in your environment:

$ nosetests

Note: you may need to adjust the configuration of the unit tests to match your environment. They are set by default to use:

DISK_DEVICE = 'sda1'