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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file ClusterMonitor-0.0.7.tar.gz.

File metadata

  • Download URL: ClusterMonitor-0.0.7.tar.gz
  • Upload date:
  • Size: 4.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10

File hashes

Hashes for ClusterMonitor-0.0.7.tar.gz
Algorithm Hash digest
SHA256 063928b3ff86662122f139d561a2955cc003716944f9711d984c1e64803dbf04
MD5 153b7604e8333c8951fa24bad5cd7874
BLAKE2b-256 6b864ea491ed2805fcfdf5eb918fc70116720f30473c29c27c73f79b174e41a7

See more details on using hashes here.

File details

Details for the file ClusterMonitor-0.0.7-py3-none-any.whl.

File metadata

  • Download URL: ClusterMonitor-0.0.7-py3-none-any.whl
  • Upload date:
  • Size: 6.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10

File hashes

Hashes for ClusterMonitor-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 850acc33a5427f88258c00179dd73dabc0f468af238c606977cd3b8d2dc64709
MD5 aea8316e3aa3529d8fcbad110bb81954
BLAKE2b-256 86f7535b1289a384d3ff092ea555ec27362ffaae35e68924b8be6b551f1ee687

See more details on using hashes here.

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