# oshi/oshi

**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/oshi-oshi).**

5,183 stars · 915 forks · Java · mit

## Links

- GitHub: https://github.com/oshi/oshi
- Homepage: https://oshi.ooo
- awesome-repositories: https://awesome-repositories.com/repository/oshi-oshi.md

## Topics

`cpu-usage` `disk-utilization` `hacktoberfest` `hardware-information` `java` `jna` `memory-usage` `operating-system` `process-list` `processor` `serialnumbers` `system-monitoring` `usb-devices`

## Description

OSHI is a Java system information library and cross-platform hardware monitor used to extract real-time performance data and specifications from processors, memory, disks, network interfaces, and system firmware. It serves as an operating system metadata provider, querying system boot times, uptime, and detailed version information across various desktop and server distributions.

The library integrates with observability pipelines by exporting system and process metrics to external monitoring backends using the Micrometer standard. It also supports connecting to vendor libraries to extract advanced graphics processing unit metrics from supported hardware.

Its capabilities cover hardware inventory management, operating system introspection, and system resource analysis. This includes tracking processor topology and load, monitoring global and virtual memory statistics, analyzing disk partitions and logical volumes, and inspecting active process details such as thread IDs and memory footprints. It further provides network statistics tracking for interface status, subnet masks, and active connection lists.

## Tags

### System Administration & Monitoring

- [Hardware Monitoring Tools](https://awesome-repositories.com/f/system-administration-monitoring/hardware-monitoring-tools.md) — Extracts real-time performance telemetry and specifications from physical hardware components across multiple operating systems.
- [System Monitoring Platforms](https://awesome-repositories.com/f/system-administration-monitoring/system-monitoring-platforms.md) — Collects real-time hardware and operating system metrics across multiple platforms to monitor system performance.
- [Memory Performance Monitors](https://awesome-repositories.com/f/system-administration-monitoring/agent-performance-monitoring/memory-performance-monitors.md) — Retrieves global and virtual memory statistics, physical memory serial numbers, and node assignments. ([source](https://github.com/oshi/oshi/blob/master/CHANGELOG.md))
- [Cross-Platform Monitors](https://awesome-repositories.com/f/system-administration-monitoring/application-performance-monitoring-platforms/cross-platform-monitors.md) — Collects system data for processors, memory, disks, and network interfaces across multiple operating systems. ([source](https://oshi.github.io/oshi/oshi-core/apidocs/com.github.oshi.common/module-summary.html))
- [Hardware Asset Auditing](https://awesome-repositories.com/f/system-administration-monitoring/hardware-asset-auditing.md) — Retrieves detailed specifications and unique identifiers for processors, GPUs, and network interfaces to audit system assets.
- [System Metrics Collection](https://awesome-repositories.com/f/system-administration-monitoring/logging/system-metrics-collection.md) — Provides comprehensive gathering of native system-level performance metrics including CPU, memory, disk, and network statistics. ([source](https://cdn.jsdelivr.net/gh/oshi/oshi@master/README.md))
- [Network Statistics Tracking](https://awesome-repositories.com/f/system-administration-monitoring/network-statistics-tracking.md) — Collects network interface status, subnet masks, dropped packets, and active connection lists. ([source](https://github.com/oshi/oshi/blob/master/CHANGELOG.md))
- [Process State Inspection](https://awesome-repositories.com/f/system-administration-monitoring/process-state-inspection.md) — Retrieves and analyzes the current status, memory footprints, and CPU usage of active processes. ([source](https://github.com/oshi/oshi/blob/master/CHANGELOG.md))
- [Resource Usage Troubleshooting](https://awesome-repositories.com/f/system-administration-monitoring/resource-usage-troubleshooting.md) — Inspects active processes, thread usage, and memory footprints to diagnose resource consumption bottlenecks.
- [Global Metric Registries](https://awesome-repositories.com/f/system-administration-monitoring/global-metric-registries.md) — Binds hardware snapshots to external monitoring registries using standardized semantic conventions for observability.
- [System Environment Retrievers](https://awesome-repositories.com/f/system-administration-monitoring/logging/metrics-retrieval/metric-detail-retrieval/system-environment-retrievers.md) — Fetches static system environment metadata including boot time, uptime, and operating system versions. ([source](https://github.com/oshi/oshi/blob/master/CHANGELOG.md))
- [Metrics Exporters](https://awesome-repositories.com/f/system-administration-monitoring/metrics-exporters.md) — Exposes system performance data using the Micrometer standard for external monitoring and analysis. ([source](https://github.com/oshi/oshi/blob/master/CHANGELOG.md))
- [Observability Pipelines](https://awesome-repositories.com/f/system-administration-monitoring/observability-pipelines.md) — Exports raw system and hardware metrics to external monitoring backends using the Micrometer framework.
- [GPU Performance Monitoring](https://awesome-repositories.com/f/system-administration-monitoring/performance-monitoring-tools/gpu-performance-monitoring.md) — Extracts graphics card specifications and real-time performance metrics. ([source](https://github.com/oshi/oshi/blob/master/CHANGELOG.md))
- [System Observability](https://awesome-repositories.com/f/system-administration-monitoring/system-observability.md) — Integrates system and process metrics into observability pipelines for performance diagnosis.

### Operating Systems & Systems Programming

- [Operating System Introspection](https://awesome-repositories.com/f/operating-systems-systems-programming/operating-system-introspection.md) — Fetches software versions, boot times, and kernel metadata to verify the host environment.
- [Processor Metrics Collection](https://awesome-repositories.com/f/operating-systems-systems-programming/processor-metrics-collection.md) — Provides detailed collection of CPU usage, load averages, cache information, and hybrid processor topology. ([source](https://github.com/oshi/oshi/blob/master/CHANGELOG.md))
- [Storage Layout Analysis](https://awesome-repositories.com/f/operating-systems-systems-programming/disk-storage-internals/storage-layout-analysis.md) — Identifies disk types, hardware identifiers, logical volume groups, and partition details. ([source](https://github.com/oshi/oshi/blob/master/CHANGELOG.md))
- [OS Metadata Providers](https://awesome-repositories.com/f/operating-systems-systems-programming/os-metadata-providers.md) — Queries system boot times, uptime, and detailed version information across various desktop and server distributions.

### Programming Languages & Runtimes

- [Java Utility Libraries](https://awesome-repositories.com/f/programming-languages-runtimes/java-utility-libraries.md) — Provides a general-purpose Java utility library for retrieving hardware and operating system metrics across platforms.
- [Native Access Libraries](https://awesome-repositories.com/f/programming-languages-runtimes/native-access-libraries.md) — Uses JNA to map Java interfaces to native C libraries for accessing operating system APIs.

### Software Engineering & Architecture

- [Hardware Abstraction Layers](https://awesome-repositories.com/f/software-engineering-architecture/hardware-abstraction-layers.md) — Provides a consistent API for hardware data retrieval across different operating system implementations.
- [Provider Patterns](https://awesome-repositories.com/f/software-engineering-architecture/provider-patterns.md) — Implements platform-independent interfaces through specialized provider classes for Windows, Linux, and macOS.
- [Pseudo-Filesystem Parsing](https://awesome-repositories.com/f/software-engineering-architecture/virtual-file-systems/pseudo-filesystem-parsing.md) — Extracts hardware and kernel metrics by parsing structured text files from procfs and sysfs directories.

### Part of an Awesome List

- [Device and Hardware Identification](https://awesome-repositories.com/f/awesome-lists/devtools/device-and-hardware-identification.md) — Looks up hardware identifiers to determine specific processor microarchitectures and unique system IDs. ([source](https://github.com/oshi/oshi/blob/master/CHANGELOG.md))

### Hardware & IoT

- [Hardware Enumeration](https://awesome-repositories.com/f/hardware-iot/hardware-enumeration.md) — Lists connected bluetooth peripherals, printers, battery statistics, and firmware information. ([source](https://github.com/oshi/oshi/blob/master/CHANGELOG.md))

### Web Development

- [OS and Hardware Data Queries](https://awesome-repositories.com/f/web-development/device-and-os-detectors/os-and-hardware-data-queries.md) — Retrieves detailed software versions and configurations for various desktop and server distributions. ([source](https://oshi.github.io/oshi/oshi-core/apidocs/com.github.oshi/module-summary.html))
