Track the RAM usage (resident set size) of a process, its children, its children's children, etc. in real time with a Unicode text sparkline. See the average and the maximum usage after the process exits, as well as the run time.
Prebuilt binaries for FreeBSD (amd64), Linux (aarch64, riscv64, x86_64), macOS (arm64, x86_64), OpenBSD (amd64), and Windows (amd64, x86) are attached to releases.
memsparkline works on POSIX systems supported by gopsutil. It has been tested on Debian, Ubuntu, FreeBSD, and OpenBSD. Unfortunately, gopsutil doesn't support NetBSD. NetBSD users can install the last Python release of memsparkline.
Although memsparkline seems to work on Windows, Windows support has received little testing outside of CI. The sparkline displays incorrectly in the Command Prompt and ConEmu on Windows 7 with the stock console fonts. It displays correctly on Windows 10 with the font NSimSun.
memsparkline differentiates between samples and records. Samples are measurements of memory usage. Records are information about memory usage printed to the chosen output (given by --output) and added to history (saved using the --dump option).