# htop-dev/htop

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/htop-dev-htop).**

8,126 stars · 597 forks · C · GPL-2.0

## Links

- GitHub: https://github.com/htop-dev/htop
- Homepage: https://htop.dev/
- awesome-repositories: https://awesome-repositories.com/repository/htop-dev-htop.md

## Description

htop is a terminal-based system resource monitor and interactive process viewer. It functions as a text-user interface dashboard for overseeing hardware temperatures, load averages, and battery status while providing a comprehensive tool for monitoring and managing system processes.

The application distinguishes itself through detailed process lifecycle management, allowing users to kill processes, adjust priorities via renicing, and assign CPU affinity to specific cores. It provides high-level visibility into system behavior through process hierarchy visualization and the ability to inspect process backtraces and environment variables.

The monitoring surface covers real-time tracking of CPU, memory, GPU, and disk I/O utilization via configurable performance meters. It includes extensive process organization capabilities, such as real-time filtering, searching, and custom column configuration to tailor the displayed system metrics.

The interface is built using a text-mode library to manage windowing and colors within a terminal emulator.

## Tags

### System Administration & Monitoring

- [Process Monitors](https://awesome-repositories.com/f/system-administration-monitoring/process-monitors.md) — Functions as an interactive viewer for monitoring and managing system process resource usage and status. ([source](https://github.com/htop-dev/htop/blob/main/CommandScreen.h))
- [Real-Time Monitoring Dashboards](https://awesome-repositories.com/f/system-administration-monitoring/real-time-monitoring-dashboards.md) — Features a real-time monitoring dashboard for tracking CPU, memory, and GPU utilization.
- [Process Management Tools](https://awesome-repositories.com/f/system-administration-monitoring/administrative-operations/configuration-control-utilities/system-administration-tools/administration-tools/process-management-tools.md) — Ships tools for identifying, monitoring, and terminating system processes via a visual interface.
- [CPU Utilization Monitoring](https://awesome-repositories.com/f/system-administration-monitoring/cpu-utilization-monitoring.md) — Tracks processor usage across various states including kernel, user, and idle to view system load. ([source](https://github.com/htop-dev/htop/blob/main/CPUMeter.c))
- [Disk Activity Visualizers](https://awesome-repositories.com/f/system-administration-monitoring/disk-usage-analyzers/disk-activity-visualizers.md) — Tracks total bytes read and written and the time spent on disk operations. ([source](https://github.com/htop-dev/htop/blob/main/DiskIOMeter.h))
- [Hardware Health Monitoring](https://awesome-repositories.com/f/system-administration-monitoring/hardware-health-monitoring.md) — Monitors CPU temperatures, battery status, and disk I/O to track physical hardware health.
- [Metric and Performance Monitors](https://awesome-repositories.com/f/system-administration-monitoring/monitoring-and-observability/observability-platforms/metric-performance-monitors.md) — Displays real-time performance data through configurable meters that track and update values dynamically. ([source](https://github.com/htop-dev/htop/blob/main/DynamicMeter.c))
- [Disk I/O Performance Analysis](https://awesome-repositories.com/f/system-administration-monitoring/performance-monitoring-tools/performance-tuning/disk-i-o-performance-analysis.md) — Tracks real-time disk read and write rates and overall utilization to visualize storage throughput. ([source](https://github.com/htop-dev/htop/blob/main/DiskIOMeter.c))
- [System Monitoring](https://awesome-repositories.com/f/system-administration-monitoring/system-monitoring.md) — Provides a comprehensive interface for adjusting display options, header layouts, and color schemes. ([source](https://github.com/htop-dev/htop/blob/main/CategoriesPanel.c))
- [System Load Monitors](https://awesome-repositories.com/f/system-administration-monitoring/system-monitoring/system-load-monitors.md) — Displays the average system load over one, five, and fifteen-minute intervals. ([source](https://github.com/htop-dev/htop/blob/main/LoadAverageMeter.c))
- [System Performance Monitors](https://awesome-repositories.com/f/system-administration-monitoring/system-performance-monitors.md) — Provides configurable real-time data monitors for CPU, memory, and other system resources in the header. ([source](https://github.com/htop-dev/htop/blob/main/AvailableMetersPanel.c))
- [System Resource Monitors](https://awesome-repositories.com/f/system-administration-monitoring/system-resource-monitors.md) — Tracks real-time hardware and process performance metrics through configurable visual meters.
- [Visual Performance Meters](https://awesome-repositories.com/f/system-administration-monitoring/system-resource-monitors/visual-performance-meters.md) — Implements configurable visual meters in the header for real-time tracking of CPU, memory, and GPU utilization. ([source](https://github.com/htop-dev/htop/blob/main/Header.c))
- [Custom Metric Displays](https://awesome-repositories.com/f/system-administration-monitoring/application-performance-monitoring/application-performance-monitoring/custom-metric-displays.md) — Provides visual panels to track user-defined performance indicators using dynamic meters. ([source](https://github.com/htop-dev/htop#readme))
- [Live Process Backtrace Inspection](https://awesome-repositories.com/f/system-administration-monitoring/diagnostic-tools/diagnostics/failure-analysis-tools/crash-reporters/runtime-failure-backtrace-capturers/live-process-backtrace-inspection.md) — Provides a view of the call stack including memory addresses and function names for running processes. ([source](https://github.com/htop-dev/htop#readme))
- [Hardware Metric Polling](https://awesome-repositories.com/f/system-administration-monitoring/hardware-metric-polling.md) — Periodically samples system APIs and hardware libraries to update resource meters in real time.
- [Hardware Topology Mapping](https://awesome-repositories.com/f/system-administration-monitoring/hardware-monitoring-tools/hardware-topology-mapping.md) — Detects and organizes the physical layout of system hardware to provide structural context. ([source](https://github.com/htop-dev/htop/blob/main/Machine.c))
- [Internal Temperature Monitors](https://awesome-repositories.com/f/system-administration-monitoring/monitoring-and-observability/internal-temperature-monitors.md) — Reads data from system sensors to monitor the internal thermal state of hardware components. ([source](https://github.com/htop-dev/htop#readme))
- [GPU Performance Monitoring](https://awesome-repositories.com/f/system-administration-monitoring/performance-monitoring-tools/gpu-performance-monitoring.md) — Tracks GPU usage percentages in real time and displays them as visual meters. ([source](https://github.com/htop-dev/htop/blob/main/GPUMeter.c))
- [Command Line Inspection](https://awesome-repositories.com/f/system-administration-monitoring/process-control-commands/command-line-inspection.md) — Displays the complete command line used to start a specific process for detailed analysis. ([source](https://github.com/htop-dev/htop/blob/main/CommandScreen.c))
- [Process View Configurations](https://awesome-repositories.com/f/system-administration-monitoring/process-managers/process-view-configurations.md) — Organizes different sets of process columns and display screens to allow switching between monitoring activities. ([source](https://github.com/htop-dev/htop/blob/main/DynamicScreen.h))
- [Process Metric Selection](https://awesome-repositories.com/f/system-administration-monitoring/process-metric-selection.md) — Allows users to select which system metrics and process attributes are displayed in the process list. ([source](https://github.com/htop-dev/htop/blob/main/AvailableColumnsPanel.h))

### Part of an Awesome List

- [Process Execution Control](https://awesome-repositories.com/f/awesome-lists/devtools/process-execution-control.md) — Provides a visual interface to kill processes and adjust their priority via renicing. ([source](https://github.com/htop-dev/htop#readme))
- [Action Bars](https://awesome-repositories.com/f/awesome-lists/devtools/action-bars.md) — Displays a persistent action bar containing hotkeys to guide user interaction with system controls. ([source](https://github.com/htop-dev/htop/blob/main/FunctionBar.h))
- [Process Metric Sorting](https://awesome-repositories.com/f/awesome-lists/devtools/sorting-algorithms/process-metric-sorting.md) — Organizes the process list by sorting based on resource metrics like CPU and memory usage. ([source](https://github.com/htop-dev/htop/blob/main/MainPanel.c))
- [System Process Organization](https://awesome-repositories.com/f/awesome-lists/devtools/sorting-algorithms/process-metric-sorting/system-process-organization.md) — Organizes processes into lists or trees for efficient sorting, searching, and filtering. ([source](https://github.com/htop-dev/htop#readme))
- [View Organization](https://awesome-repositories.com/f/awesome-lists/devtools/sorting-algorithms/process-metric-sorting/view-organization.md) — Allows toggling between list and tree views to organize and visualize process relationships. ([source](https://github.com/htop-dev/htop/blob/main/CommandLine.c))
- [Battery Monitoring](https://awesome-repositories.com/f/awesome-lists/productivity/battery-monitoring.md) — Tracks remaining battery percentage and monitors AC power status. ([source](https://github.com/htop-dev/htop/blob/main/BatteryMeter.c))
- [System Dashboards](https://awesome-repositories.com/f/awesome-lists/devtools/system-dashboards.md) — Interactive process viewer for Unix systems.

### Development Tools & Productivity

- [Terminal Process Managers](https://awesome-repositories.com/f/development-tools-productivity/process-management-utilities/terminal-process-managers.md) — Functions as an interactive terminal-based viewer for monitoring and managing system processes.

### Operating Systems & Systems Programming

- [Process Hierarchy Visualizations](https://awesome-repositories.com/f/operating-systems-systems-programming/process-hierarchy-visualizations.md) — Visualizes system processes in a tree view to analyze parent-child relationships.
- [Process Lifecycle Management](https://awesome-repositories.com/f/operating-systems-systems-programming/process-lifecycle-management.md) — Provides interactive controls for killing, renicing, and adjusting CPU affinity of system processes.
- [Procfs Extractions](https://awesome-repositories.com/f/operating-systems-systems-programming/procfs-extractions.md) — Acquires system and process information by parsing the Linux /proc virtual filesystem.
- [System Debugging](https://awesome-repositories.com/f/operating-systems-systems-programming/binary-analysis-capabilities/system-debugging.md) — Allows inspection of environment variables and command lines to debug application behavior on live systems.
- [CPU Affinity Binding](https://awesome-repositories.com/f/operating-systems-systems-programming/cpu-affinity-binding.md) — Enables pinning processes to specific CPU cores to optimize performance and isolate workloads. ([source](https://github.com/htop-dev/htop/blob/main/AffinityPanel.h))
- [Environment Variable Inspectors](https://awesome-repositories.com/f/operating-systems-systems-programming/environment-variable-inspectors.md) — Retrieves and displays the environment variables of a running process in a sorted list. ([source](https://github.com/htop-dev/htop/blob/main/EnvScreen.c))
- [Process Filtering](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/process-and-memory-management/process-isolation/process-filtering.md) — Isolates specific processes for observation by filtering out irrelevant data based on user-defined strings. ([source](https://github.com/htop-dev/htop/blob/main/InfoScreen.c))
- [Process Metadata Inspectors](https://awesome-repositories.com/f/operating-systems-systems-programming/process-metadata-inspectors.md) — Renders a dedicated screen for inspecting detailed runtime metadata and state of a selected process. ([source](https://github.com/htop-dev/htop/blob/main/InfoScreen.h))

### User Interface & Experience

- [Text-User Interface Rendering](https://awesome-repositories.com/f/user-interface-experience/terminal-content-rendering/text-user-interface-rendering.md) — Uses ncurses to render a comprehensive text-mode dashboard with managed windowing and colors.
- [TUI Hardware Dashboards](https://awesome-repositories.com/f/user-interface-experience/tui-hardware-dashboards.md) — Provides a text-user interface dashboard for visualizing real-time hardware statistics and system performance.
- [Column Management Interfaces](https://awesome-repositories.com/f/user-interface-experience/column-layout-configurations/column-management-interfaces.md) — Provides interactive controls for defining custom column headings, widths, and visibility for the process table. ([source](https://github.com/htop-dev/htop/blob/main/DynamicColumn.h))
- [Shortcut Guides](https://awesome-repositories.com/f/user-interface-experience/command-bars/shortcut-guides.md) — Renders a visual guide of function keys and their associated actions to assist user navigation. ([source](https://github.com/htop-dev/htop/blob/main/FunctionBar.c))
- [Interface Color Schemes](https://awesome-repositories.com/f/user-interface-experience/custom-theme-definitions/interface-color-schemes.md) — Applies predefined color schemes or specific element colors to distinguish between metrics and states. ([source](https://github.com/htop-dev/htop/blob/main/ColorsPanel.c))
- [Display Settings](https://awesome-repositories.com/f/user-interface-experience/layout-configurations/display-aware-layout-managers/display-layout-managers/display-settings.md) — Provides a dedicated panel for adjusting visual settings and interface preferences. ([source](https://github.com/htop-dev/htop/blob/main/DisplayOptionsPanel.c))
- [Header Configurations](https://awesome-repositories.com/f/user-interface-experience/layout-containers/header-configurations.md) — Allows changing the visual arrangement of information in the top panel using predefined layouts. ([source](https://github.com/htop-dev/htop/blob/main/HeaderLayout.h))
- [List Search Filters](https://awesome-repositories.com/f/user-interface-experience/selectable-lists/list-search-filters.md) — Implements real-time filtering mechanisms to narrow down long lists of system processes. ([source](https://github.com/htop-dev/htop/blob/main/IncSet.c))
- [Visual Styling and Presentation](https://awesome-repositories.com/f/user-interface-experience/terminal-user-interfaces/visual-styling-presentation.md) — Adjusts the aesthetic layer by toggling colors, unicode support, meters, and the function bar. ([source](https://github.com/htop-dev/htop/blob/main/CommandLine.c))
- [Refresh Rate Controls](https://awesome-repositories.com/f/user-interface-experience/ui-update-customization/refresh-rate-controls.md) — Allows setting the time delay between screen updates or specifying a fixed number of iterations. ([source](https://github.com/htop-dev/htop/blob/main/CommandLine.c))

### Data & Databases

- [Column Selection Controls](https://awesome-repositories.com/f/data-databases/data-analysis-visualization/visualization-frameworks-libraries/interaction-event-handling/column-selection-controls.md) — Provides interface elements to toggle and add specific system metrics or process fields to display columns. ([source](https://github.com/htop-dev/htop/blob/main/AvailableColumnsPanel.c))
