Skip to content

JGH0/jtop

Repository files navigation

jtop - A Java-based System Monitoring Tool

=============================================

Note: This project is not related to the Python-based jtop for NVIDIA Jetson devices (https://rnext.it/jetson_stats/)

License: MIT Java Version Platform Status

Overview

jtop is a lightweight, terminal-based system monitoring tool written in Java. It aims to replicate the basic functionality of the top command, providing a modular interface for easy system monitoring.

Features

  • Resource-efficient design
  • No external build tools required
  • Modular and tab-based interface
  • Supports Java 21+

Target Platform

  • Linux (primary target)
  • Other platforms (e.g. macOS, freeBSD) may be supported in the future, pending compatibility testing and development.

Getting Started

Prerequisites

  • Java 21+ installed on your system
  • Linux platform

Building and Running Locally

  1. Clone the repository:

    git clone https://github.com/JGH0/jtop.git
    cd jtop
  2. Compile the code:

    javac src/*.java
  3. Run the application:

    java src/Main.java

System-wide Installation

To install jtop globally so that it can be run from any terminal:

  1. Clone the repository (if not done already):

    git clone https://github.com/JGH0/jtop.git
    cd jtop
  2. Make the build and install scripts executable:

    chmod +x build.sh install.sh
  3. Build the project using the provided build script:

    ./build.sh
  4. Install globally (requires root privileges):

    sudo ./install.sh
  5. Run jtop from anywhere:

    jtop

Notes:

  • The build.sh script compiles all Java source files and creates an executable jtop.jar.
  • The install.sh script copies jtop.jar to /usr/local/lib/jtop and installs a wrapper script in /usr/local/bin for easy execution.

Usage

jtop provides a simple and intuitive interface for system monitoring. Use the following keys to navigate:

  • j/k: Scroll up/down
  • Enter: Scroll entire row
  • q or Ctrl+C: Quit

Contributing

We welcome contributions from the community! To contribute:

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix.
  3. Make your changes with proper testing.
  4. Submit a pull request detailing your modifications.

Developer Documentation

Developer documentation is generated using JavaDoc. To generate and view the documentation:

chmod +x generate_javadoc.sh
./generate_javadoc.sh

This will create a docs/ folder with HTML documentation you can view in your browser.

License

jtop is licensed under the MIT License. See LICENSE for details.

Author

  • Jürg Georg Hallenbarter

Note

jtop is currently in Alpha stage, which means it is still a work-in-progress and may contain bugs or incomplete features. Use at your own risk!

About

Lightweight system monitor for Linux. Minimal interface showing CPU, memory, and process information without unnecessary features. Fast and efficient.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors