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 withcpu_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:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 063928b3ff86662122f139d561a2955cc003716944f9711d984c1e64803dbf04 |
|
MD5 | 153b7604e8333c8951fa24bad5cd7874 |
|
BLAKE2b-256 | 6b864ea491ed2805fcfdf5eb918fc70116720f30473c29c27c73f79b174e41a7 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 850acc33a5427f88258c00179dd73dabc0f468af238c606977cd3b8d2dc64709 |
|
MD5 | aea8316e3aa3529d8fcbad110bb81954 |
|
BLAKE2b-256 | 86f7535b1289a384d3ff092ea555ec27362ffaae35e68924b8be6b551f1ee687 |