Download from Nuget via your favorite Nuget client like dotnet
dotnet add package HardwareInformation
Get hardware information from the gatherer
MachineInformation info = MachineInformationGatherer.GatherInformation(bool skipClockspeedTest = true)
Result is cached internally so don't worry about calling it multiple times
- No Kernel Driver, Module or Administrator/Elevated Rights needed
- Supports Windows, Linux and OSX
- Pretty fast :)
- Supports multiple CPUs (i.e. multiple Sockets) and GPUs
- Supports BIG.little as far as Intel and Apple provided it
- Supports ARM, x86 and AMD64
- Lots of information provided
A detailed list of information gathered by this library can be found in here, although the OS-specific remarks may not always be accurate.
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.