Skip to content

Harshit240105/Per_mon_java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Java Hardware Performance Monitor

A lightweight, multi-threaded Java system utility designed to track and display real-time hardware performance metrics via a borderless, semi-transparent gaming overlay.

Features

  • Real-Time Overlay: Borderless, semi-transparent GUI that always stays on top (ideal for gaming).
  • Native OS Hooks: Utilizes the OSHI library to interface directly with Windows Native APIs.
  • Zero-Overhead Daemon: Implements Java Concurrency ScheduledExecutorService for a near-zero resource footprint background polling loop.
  • Dynamic GPU Tracking: Bypasses traditional single-shot WMI constraints by running persistent background daemon threads that parse typeperf (Windows Performance Counters) and nvidia-smi kernel streams to calculate live GPU Utilization and VRAM usage.
  • Hardware Bug Bypasses: Implements custom heuristic string parsing to overcome Windows WMI 32-bit integer overflow limits on GPUs with > 4GB of VRAM.

How to Build

This project uses Maven. To compile the code into a native Windows executable (.exe):

mvn clean package

The resulting executable will be located at target/HardwareMonitor.exe.

Note on Security: Due to strict Microsoft Kernel security limits preventing user-mode applications from reading hardware thermal zones, the embedded Windows Manifest explicitly requests requireAdministrator execution level. Running the .exe will prompt for UAC permission.

Tech Stack

  • Language: Java 11
  • Build Tool: Maven (Maven Shade Plugin, Launch4j)
  • Libraries: OSHI Core, SLF4J, JNA
  • OS APIs: WMI, PDH (typeperf), NVAPI (nvidia-smi)

About

A lightweight, multi-threaded Java gaming overlay for real-time hardware performance monitoring (CPU/GPU/VRAM) using Windows native APIs.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages