A resource & process monitor for Linux, inspired by the Windows 11 Task Manager.
Built in Rust with Slint
- Processes: CPU, memory, disk I/O, threads and status, with app icons from the freedesktop icon theme. Sort, filter and kill.
- Performance: live charts for CPU (global + per-core), memory, disks, network and GPU (NVIDIA / AMD / Intel).
- Per-process graph attribution (opt-in): hover a point on a Performance graph to see the top 5 processes behind that sample (CPU, RAM, disk and GPU). Off by default; enable it in Settings.
- Startup: XDG autostart entries and enabled systemd units.
- Services: systemctl system and user units.
- Settings: adjustable refresh rate, GPU monitoring toggle (off avoids loading NVML/CUDA, ~20 MB), background-history toggle and the per-process attribution toggle.
rproc is far more memory-frugal than most monitors with similar features. The Slint software renderer needs no OpenGL driver or texture atlas, GPU monitoring is an opt-out toggle (NVML/CUDA cost ~20 MB), and the background daemon is off by default.
| Solution | RAM |
|---|---|
| rproc (GPU off) | ~25 MB |
| rproc (GPU on, default) | ~45 MB |
| Gnome System Monitor | 185 MB |
| Resources | 200 MB |
| Mission Center | 239 MB |
The optional background daemon adds ~28 MB while enabled.
Prebuilt packages for every release are on the Releases page. Download the file for your distribution, then:
sudo apt install ./rproc_<version>_amd64.debsudo dnf install ./rproc-<version>-1.x86_64.rpmyay -S rproc-bin # or: paru -S rproc-binThe rproc-bin package
wraps the prebuilt release tarball, so no Rust toolchain is needed.
flatpak install --user ./rproc-<version>-x86_64.flatpak
flatpak run io.github.trystan_sa.rprocchmod +x rproc-<version>-x86_64.AppImage
./rproc-<version>-x86_64.AppImageFrom a source checkout, make appimage-install builds the AppImage and
installs it for the current user (on $PATH, with a launcher entry, all
under ~/.local/).
nix run github:trystan-sa/rproc# Install via Flake:
inputs = {
rproc = {
url = "github:trystan-sa/rproc";
inputs.nixpkgs.follows = "nixpkgs";
};
};
# In nix configuration:
{inputs, pkgs, ...}:{
environment.systemPackages = with pkgs; [
inputs.rproc.packages.${pkgs.stdenv.hostPlatform.system}.default
];
}Requires the stable Rust toolchain (rustup) and a few system libraries. On Debian/Ubuntu:
sudo apt install pkg-config libfontconfig1-dev libxkbcommon-dev \
libx11-dev libxcb1-dev libwayland-devgit clone https://github.com/Trystan-SA/rproc.git
cd rproc
cargo run --release- Linux (X11 or Wayland)
systemctlfor the Services and Startup tabs
rproc can keep a 60-sample rolling window of system metrics
(~/.cache/rproc/history.bin, ~2 KB, fixed size) so re-opening the window
shows the last minute of activity even after a full close.
It is off by default (the collector is a second process that also loads
NVML/CUDA); enable Background history in the Settings page to turn it on.
When enabled the collector runs as a detached background process
(setsid-detached, so closing rproc leaves it running). You can also start it
on its own:
rproc --daemonPackages install a systemd user unit that you can enable to start the sampler at login:
systemctl --user enable --now rprocdInstalling from source instead? Copy the unit first:
mkdir -p ~/.config/systemd/user && cp packaging/rprocd.service ~/.config/systemd/user/
Single-command targets via the included Makefile:
make deb # build a .deb -> target/debian/
make rpm # build an .rpm -> target/generate-rpm/
make aur # build rproc-bin from packaging/aur/PKGBUILD (needs makepkg)
make flatpak # build a local .flatpak bundle
make flatpak-install # build + install the Flatpak for the current user
make appimage # build a portable .AppImage -> rproc-<version>-x86_64.AppImage
make appimage-install # build + install the AppImage for the current user (~/.local/)
