Git Product home page Git Product logo

system-monitor's Introduction

system-monitor

A process monitor system that monitors all the active processes, with their corresponding process ids (PIDs), CPU usage, memory usage

Background

MS Process Minitor

Process Monitor is an advanced monitoring tool for Windows that shows real-time file system, Registry and process/thread activity. It combines the features of two legacy Sysinternals utilities, Filemon and Regmon, and adds an extensive list of enhancements including rich and non-destructive filtering, comprehensive event properties such as session IDs and user names, reliable process information, full thread stacks with integrated symbol support for each operation, simultaneous logging to a file, and much more

  • System Data
    • Linux stores a lot of system data in files within the /proc directory.
  • Operating System
    • Information about the operating system exists outside of the /proc directory, in the /etc/os-release file.
  • Kernel
    • Information about the kernel exists /proc/version file.
  • Memory Utilization
  • Total Processes
    • Information about the total number of processes on the system exists in the /proc/meminfo file.
  • Running Processes
    • Information about the number of processes on the system that are currently running exists in the /proc/meminfo file.
  • Up Time
    • Information about system up time exists in the /proc/uptime file.

Result: Run-time Environment

  • Build the project: make build
  • Run the resulting executable: ./build/monitor System Monitor The system monitor is reading the information from the system program and lists the operating system, kernel version, Total CPU utilization percentage in a bar representation, Total memory utilization percentage in a bar representation, total number of processes, number of running processes, and uptime. The system monitor displays the PID, user, CPU utilization, memory utilization, uptime, and command for each process.
  • display basic data about the system and individual processes
  • list at least the operating system, kernel version, total number of processes, number of running processes, and up tim
  • display the CPU utilization
  • display a partial list of processes running on the system
  • display the PID, user, CPU utilization, memory utilization, up time, and command for each process.
  • sory by CPU utilization and display PIDs according to sorted CPU utilization (high --> low)

TBD

  • Calculate CPU utilization dynamically, based on recent utilization
  • Sort processes(Pids) based on memory utilization as an optional choice(currently sort by CPU utilization)
  • Make the display interactive
  • Restructure the program to use abstract classes (interfaces) and pure virtual functions
  • Port the program to another operating system(currently Linux)

ncurses

  • ncurses is a library that facilitates text-based graphical output in the terminal.
  • This project relies on ncurses for display output.

Reference

system-monitor's People

Contributors

tooth2 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.