OSHI - Operating System + Hardware
This module allows you to interact with hardware and the operating system.
Last updated
Was this helpful?
This module allows you to interact with hardware and the operating system.
Last updated
Was this helpful?
This module is based on the great work of the . You can use this module to get information about the operating system and hardware of your machine. This is a great way to get sensor or embedded system information like batteries, Raspberry Pi, etc.
OSHI is a free JNA-based (native) Operating System and Hardware Information library for Java. It does not require the installation of any additional native libraries and aims to provide a cross-platform implementation to retrieve system information, such as OS version, processes, memory and CPU usage, disks and partitions, devices, sensors, etc.
Computer System and firmware, baseboard
Operating System and Version/Build
Physical (core) and Logical (hyperthreaded) CPUs, processor groups, NUMA nodes
System and per-processor load, usage tick counters, interrupts, uptime
Process uptime, CPU, memory usage, user/group, command line args, thread details
Physical and virtual memory used/available
Mounted filesystems (type, usable and total space, options, reads and writes)
Disk drives (model, serial, size, reads and writes) and partitions
Network interfaces (IPs, bandwidth in/out), network parameters, TCP/UDP statistics
Battery state (% capacity, time remaining, power usage stats)
USB Devices
Connected displays (with EDID info), graphics and audio cards
Sensors (temperature, fan speeds, voltage) on some hardware
Here are the contributed functions in this module:
getSystemInfo()
: Get the main entry point for the OSHI system: https://www.oshi.ooo/oshi-core-java11/apidocs/com.github.oshi/oshi/SystemInfo.html
getOperatingSystem()
: Get the Operating System information: https://www.oshi.ooo/oshi-core-java11/apidocs/com.github.oshi/oshi/software/os/OperatingSystem.html
getHardware()
: Get the Hardware information: https://www.oshi.ooo/oshi-core-java11/apidocs/com.github.oshi/oshi/hardware/HardwareAbstractionLayer.html
The following are also contributed functions provided by convenience:
getCpuUsage( [interval] )
: Gets the CPU usage of the system with a custom interval
getFreeSpace( path )
: Gets the free space of a drive
getTotalSpace( path )
: Gets the total space of a drive
getSystemFreeMemory()
: Gets the free memory of the operating system
getSystemTotalMemory()
: Gets the total memory of the operating system
getJVMFreeMemory()
: Gets the free memory of the JVM
getJVMTotalMemory()
: Gets the total memory of the JVM
Please note that you can get a lot more information by having access to the hardware and operating system. Please visit the OSHI documentation for more details:
Visit the for release notes. You can also file a bug report or improvement suggestion via .