Skip to content

hhs0001/monitor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

6 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

System Monitor

Read this in other languages: English, Portuguese

A cross-platform system resource monitor written in Rust that provides real-time information about CPU, memory, GPU, and network in an interactive terminal interface. This is a learning project as I'm exploring Rust, so while fully functional, the code might not follow all best practices.

Status: In Development License: MIT Rust Version: 1.75+

Features

  • ๐Ÿ“Š Real-time visualization with TUI (Terminal User Interface) graphs
  • ๐Ÿ–ฅ๏ธ Detailed CPU monitoring with multicore support
  • ๐ŸŽฎ NVIDIA, AMD, and Intel GPU support
  • ๐Ÿ’พ RAM and SWAP memory monitoring
  • ๐ŸŒ Network statistics per interface
  • ๐ŸŽฏ Interactive and responsive interface
  • โš™๏ธ Customizable and persistent settings
  • ๐Ÿ’ป Support for Windows, Linux, and macOS

Installation

Pre-compiled Binaries

You can download the pre-compiled binaries for your operating system from the Releases page. Available for:

  • Windows (x64)
  • Linux (x64)
  • macOS (Intel x64 and Apple Silicon)

Using Installation Script

./install.sh

Manual Compilation

  1. Make sure you have Rust and Cargo installed
  2. Clone the repository
  3. Run one of the build scripts according to your operating system:

Linux:

./build-linux.sh

macOS:

./build-mac.sh

Usage

monitor [OPTIONS]

Options

  • --no-gpu: Disable GPU monitoring
  • --no-network: Disable network monitoring
  • --interval <MS>: Set update interval in milliseconds (default: 50)
  • --history <N>: Set number of data points in graphs (default: 100)
  • --save-config: Save current settings as default
  • --reset-config: Reset settings to default

Controls

  • q: Quit program
  • Ctrl+C: Quit program

System Requirements

  • Operating System: Windows, Linux, or macOS
  • GPU (optional):
    • NVIDIA: NVIDIA drivers and NVML
    • AMD: AMD drivers
    • Intel: Intel drivers

Configuration

The configuration file is stored in:

  • Linux: ~/.config/system-monitor/config.toml
  • macOS: ~/Library/Application Support/system-monitor/config.toml
  • Windows: %APPDATA%\system-monitor\config.toml

Main Dependencies

  • tui: Terminal user interface
  • crossterm: Cross-platform terminal manipulation
  • sysinfo: System information
  • nvml-wrapper: NVIDIA GPU support
  • clap: Command line argument processing

Contributing

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Rust Community
  • tui-rs contributors
  • Developers of used libraries

About

๐Ÿ“Š A fast, cross-platform system monitor with real-time TUI graphs for CPU, GPU, RAM, and network stats. Built with Rust.

Topics

Resources

License

Stars

Watchers

Forks

Contributors