winproc-tui

Language: English | 日本語
winproc-tui is a keyboard-first process monitor for Windows 11. It shows how an application's memory, handles, GUI resources, GPU memory, I/O, .NET runtime metrics, and other metrics change over time, directly in the terminal.
Select the metrics that matter, keep up to 16 Graphs in one workspace, compare exact points with A/B markers, and record sessions for later inspection. The focus is fast, repeatable investigation of selected processes during development and testing—not broad system inspection.

The Private Bytes graph for memory-eater.exe, showing the change from point A to point B.
Install
Official Windows binaries are published only on TX230/winproc-tui Releases. WinGet and the TX230 Scoop Bucket install those same binaries. Copies, mirrors, and modified repositories are not official builds.
WinGet
winget install winproc-tui
winproc-tui
Update or uninstall with:
winget upgrade winproc-tui
winget uninstall winproc-tui
To match the package ID exactly, replace winproc-tui in any winget command above with --id TX230.winproc-tui -e.
Scoop
scoop bucket add tx230 https://github.com/TX230/scoop-bucket
scoop install tx230/winproc-tui
winproc-tui
Refresh the registered buckets, then update the app:
scoop update
scoop update winproc-tui
Uninstall with scoop uninstall winproc-tui. A normal uninstall preserves saved settings; use scoop uninstall --purge winproc-tui to remove them as well.
Quick Start
See a Process Change Over Time
- Select a process in
PROCESSES.
- Use
Left / Right to select a metric column such as PrivBytes.
- Press
Space or double-click the metric cell to add a Graph. Repeat with other metrics to compare up to 16 Graphs in the workspace.
System MEM, GPU, CPU, and network/disk metrics can be graphed directly from their panels; they do not require a Tracking List entry.

A customized layout displaying 12 Graphs.
Compare Two Points
Move focus to a Graph or Samples and choose a sample with Left / Right. Press a at the start point and b at the end point to see the value difference and elapsed time. Press x to clear the comparison.
Track and Record Processes
- Select a Process or PID cell and press
Space, double-click it, or press t to add that process name to the working Tracking List.
- Use
Ctrl+T to open a saved Investigation Profile. Press Ctrl+S to save the active Profile, or use MENU > Profile > Save As to save the working Tracking List under a new profile name.
- Press
Ctrl+R, choose a log path and a 1s, 2s, 5s, or 10s recording interval, then start recording.
- Press
Ctrl+R again and confirm with y to stop. Enter, Esc, or n continues recording.
- Press
Ctrl+L to reopen a saved log for inspection.
Recording requires at least one process name in the Tracking List, but no matching process needs to be running yet. The names are captured when Recording starts and remain fixed for that session. Shift+T can still switch between All processes and Tracked-only because it changes only the display.
Use Tab / Shift+Tab to move between panels and the arrow keys to select rows, columns, and samples. Press F1 or ? at any time for the complete controls; the footer shows the main actions available in the current context.
Capabilities
- Live monitoring: Shows system memory pressure, per-adapter GPU load and memory, network and disk activity, CPU activity, and detailed per-process metrics.
- Process tree: Switches the Processes table between a sortable flat list and the parent-child forest captured in each live snapshot, with filtering and subtree collapse.
- Graphs and A/B comparison: Keeps up to 16 metrics in an ordered workspace with synchronized Samples, then compares any two exact sample times.
- Investigation Profiles: Saves named Tracking Lists for investigations that may start before their target processes. Tracked processes retain their latest values after exit.
- .NET metrics: Automatically detects live .NET 8/9/10 processes and shows managed-runtime metrics, with selected heap metrics for .NET Framework 4.8.
- Process Info: Brings metrics, image and runtime details, open files, DLLs, and environment variables together for the selected process.
- Recording and Log view: Records system metrics and matching processes as JSON Lines, then reopens them in the same Processes, Graph, Samples, and A/B views.
The last working Tracking List and application-wide presentation preferences are restored on the next launch, or startup can choose a saved Investigation Profile or an empty Tracking List. Graph registrations begin empty on every run; filter input and runtime process identities are not saved.
When to Use It
winproc-tui is a good fit when you need to:
- Understand a process's resource usage and identify opportunities to optimize it.
- Check for memory, handle, and other resource leaks.
- Compare
Private Bytes with Working Set - Private to investigate whether a large allocated buffer may be going unused.
- Review handle-count trends and the Files tab in Process Info to find files that may not have been closed.
- Inspect the paths and versions of DLLs loaded by a process.
- Compare resource usage before and after a specific operation or code change.
- Record a target process and later inspect history around the time an issue occurred.
Use Windows Performance Monitor (PerfMon) for arbitrary counters, remote monitoring, and managed Data Collector Sets. Use Process Explorer or System Informer for broad system inspection. Choose winproc-tui when the task is to follow selected processes and compare their recent behavior quickly and repeatedly.
Recording and Log View
Recording captures the names in the working Tracking List when the session starts. If none currently match a live process, the log still records system memory, per-adapter GPU, aggregate CPU, and network/disk activity; only the process list remains empty.
Live collection and Live history remain at one-second resolution. Longer recording intervals average available samples, reducing file size and Log-view loading work while smoothing short spikes. A recording lasts for at most 24 hours and returns to Live automatically at the limit.
Log view does not replay frames. It shows the final process snapshot and lets you inspect recorded history through Graphs, Samples, Process Info, and A/B comparison. Recording and Log view cannot be active at the same time.
See docs/metrics.md for metric definitions, aggregation behavior, and the recording schema.
Requirements
- Windows 11 x64 only; Linux and macOS are not supported.
Administrator privileges are not required for normal monitoring. Protected processes may prevent access to some Process Info data or open files; unavailable values are shown as --.
Only one winproc-tui instance can run in the same Windows session. A second instance exits without changing the active terminal or saved session settings.
Build From Source
Building requires Rust 1.95.0 or later, the Rust 2024 edition toolchain, and the MSVC linker from Build Tools for Visual Studio 2026. Install Rust with rustup, then build the project:
git clone https://github.com/TX230/winproc-tui.git
cd winproc-tui
cargo build --release
.\target\release\winproc-tui.exe
Rust developers can install the published source package from crates.io. Cargo builds it locally; this is separate from the prebuilt Windows binary on GitHub Releases.
cargo install winproc-tui --locked
To install the current checkout instead:
cargo install --path . --locked
More Information
- Press
F1 or ? in the app for the complete keyboard and mouse controls.
- Run
winproc-tui --help for command-line options.
- See docs/metrics.md for metrics, data sources, display formats, and recording logs.
- See docs/architecture.md for the system overview and links to focused design documents.
Bug Reports and Feature Requests
Use GitHub Issues for bug reports and feature requests. Issues may be written in English or Japanese.
Report suspected security vulnerabilities privately as described in SECURITY.md, not in a public Issue.
This is a personal project and does not accept unsolicited pull requests from external contributors. Opening or discussing an Issue does not authorize a pull request. See CONTRIBUTING.md for the contribution policy.
License
MIT License. See LICENSE.