HardwareInformation
.NET Core Cross-Platform Hardware Information Gatherer
Usage
Download from Nuget via your favorite Nuget client like dotnet
dotnet add package HardwareInformation
Starting with version 2.1.20 HardwareInformation is also available via Github Package Registry!
Get hardware information from the gatherer
MachinInformation info = MachineInformationGatherer.GatherInformation(bool skipClockspeedTest = true)
Result is cached internally so don't worry about calling it multiple times
Features
Feature | Windows | Linux | Mac | OS Specific*** |
---|---|---|---|---|
No Kernel driver | ||||
Operating System | ||||
BIOS Version | ||||
BIOS Vendor | ||||
BIOS Codename | ||||
Mainboard Version | ||||
Mainboard Name | ||||
Mainboard Vendor | ||||
CPU Physical Cores | ||||
CPU Logical Cores | ||||
CPU Logical Cores per Node**** | ||||
CPU Architecture | ||||
CPU Caption | ||||
CPU Name | ||||
CPU Vendor | ||||
CPU Family | ||||
CPU Model | ||||
CPU Stepping | ||||
CPU Type | ||||
CPU Max Frequency | ||||
CPU Base Frequency | ||||
CPU Socket | ||||
CPU Cores | ||||
CPU Core Number of Physical Core**** | ||||
CPU Core NUMA Node**** | ||||
CPU Core Max Frequency | ||||
CPU Core Base Frequency | ||||
CPU Core Reference Max Frequency** | ||||
CPU Core Reference Base Frequency** | ||||
CPU Core Reference Bus Frequency** | ||||
CPU Caches | ||||
CPU Cache Type | ||||
CPU Cache Level | ||||
CPU Cores per Cache | ||||
CPU Number of times present | ||||
CPU Cache Capacity | ||||
CPU Cache CapacityHRF | ||||
CPU Cache Associativity | ||||
CPU Cache LineSize | ||||
CPU Cache Sets | ||||
CPU Cache WBINVD | ||||
Lots of feature flags | ||||
RAM Speed | ||||
RAM Manufacturer | ||||
RAM Capacity | ||||
RAM CapacityHRF | ||||
RAM Locator | ||||
RAM PartNumber (Product Name) | ||||
RAM FormFactor | ||||
RAM Latencies | ||||
GPUs Vendor | ||||
GPUs Name | ||||
GPUs Driver | ||||
GPUs Status | ||||
GPUs VRAM | ||||
GPUs VRAM HRF | ||||
GPUs Type | ||||
Disks Manufacturer | ||||
Disks Caption | ||||
Disks Capacity | ||||
Displays Manufacturer | ||||
Displays Name | ||||
USB Vendor ID | ||||
USB Vendor Name | ||||
USB Product ID | ||||
USB Product Name | ||||
USB Driver | ||||
USB Class | ||||
Multiple processors/Dual processors |
HRF = Human Readable Format. Normal capacity/size is in bytes, while this is a string encoded with the appropriate sizing.
* Inaccurate or false measurements may be possible. Use with caution.
** Only available on Intel platforms.
*** Accesses operating system features (Windows WMI and Linux /proc, /sys or lshw etc.) and thus may not be accurate if those features are not available.
**** Only available on AMD platforms.
Goal
The immediate goal is somewhat feature-parity with CPU-Z/CPUID. While this may be impossible for some features (like RAM latencies) without a kernel driver, part of the goal is also to bring these kind of capabilities without requiring a software installation or kernel driver.
In some parts, this library has already more features than CPU-Z/CPUID, since it's cross-platform (for most features).
TODOs are tracked in the feature table. Crosses basically mean TODO.