Skip to main content

Simple script which can be used to monitor and log CPU and RAM usage of submitted cluster jobs

Project description

ClusterMonitor

A very simple python script which monitors and records the CPU and RAM consumption of submitted cluster jobs.

Installation

Simplest option is to install via PyPi:

pip install ClusterMonitor

Alternatively you can also clone this repository and use the scripts inside the ClusterMonitor directory.

Usage

To start recording use the cpu_ram_log.py script. It requires 3 arguments:

  • -u which corresponds to your username.
  • -o which specifies the output file (in tsv format)
  • --interval which specifies the time (in seconds) over which the CPU and RAM usage gets averaged

Example:

python ClusterMonitor/cpu_ram_log.py -u nickhir -o cpu_ram.log --interval 5

The script can simply be included in your cluster job submittion like this:

#!/bin/bash
#SBATCH --job-name=Example_run

sambamba sort -t 3 some_bam.bam &
MainScript=$!
python cpu_ram_log.py -u nickhir -o cpu_ram.log --interval 5 &
wait $MainScript
pkill -P $$

If you used pip to install the package, cpu_ram_log and visualize_log will be added to your PATH variable, thus you can simple use:

cpu_ram_log -u nickhir --interval 5 -o cpu_ram.log

Afterwards the resulting log file can be plotted (for that matplotlib is needed). For that use the visualize_log.py script which needs 2 arguments:

  • -i which specifies the path to the log file which was created with cpu_ram_log.py
  • -o which specifies the path to the resulting PDF which contains a plot for the CPU and RAM usage.

Example:

python visualize_log.py -i cpu_ram.log -o cpu_ram_visualization.pdf

The resulting plots will look somewhat like this: exampleImage

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ClusterMonitor-0.0.7.tar.gz (4.0 kB view hashes)

Uploaded Source

Built Distribution

ClusterMonitor-0.0.7-py3-none-any.whl (6.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page