Usage¶
OpenLMI-Hardware exposes hardware information, it does not implement any methods. List of provided information divided by DMTF profiles can be found below.
CPU Profile¶
CPU Profile provides information about CPU and associated cache:
- Processor
- Number of CPUs, Cores and Threads
- Every CPU has its own LMI_Processor class. Number of instances of this class represents number of CPUs in the system. Number of cores and threads of CPU can be found in the associated LMI_ProcessorCapabilities class.
- Model Name
- Current and Maximum Clock Speed
- FSB Speed
- Data and Address Width
- Architecture
- Flags
- Family
- Stepping
- FRU Data (Manufacturer, Serial Number, Part Number)
- Number of CPUs, Cores and Threads
- Processor Cache
- Level
- Size (must be counted as BlockSize * NumberOfBlocks)
- Type (Data / Instruction / Unified) (if available, this information is part of the Name)
Used Resources¶
- dmidecode program [from dmidecode package]
- lscpu program [from util-linux package]
- /proc/cpuinfo file
- /sys/devices/system/cpu/* files
System Memory Profile¶
System Memory Profile provides information about system memory and slots:
- Memory
- Size (must be counted as BlockSize * NumberOfBlocks)
- Size of Standard Memory Page
- All Supported Sizes of Huge Pages
- Current State of Transparent Huge Pages [Unsupported, Never, Madvise, Always]
- Detection of NUMA Layout
- Memory Slots + Modules
- Number of Slots and Modules
- LMI_MemoryPhysicalPackageInConnector Association between Modules and Slots
- Size of Modules
- Speed of Modules (in both MHz and ns)
- Data and Total Width
- Module Type and Form Factor
- FRU Data
Used Resources¶
- dmidecode program [from dmidecode package]
- /proc/meminfo file
- /sys/devices/system/node/* files
- /sys/kernel/mm/hugepages/* files
- /sys/kernel/mm/transparent_hugepage/* files
PCI Device Profile¶
PCI Device Profile provides information about PCI devices:
- PCI Devices:
- Bus Number
- Device Number
- Function Number
- PCI Device ID
- PCI Device Name
- Vendor ID
- Vendor Name
- Subsystem ID
- Subsystem Name
- Subsystem Vendor ID
- Subsystem Vendor Name
- Revision ID
- Base Address
- Cache Line Size
- Capabilities
- Class Code
- Command Register
- Device Select Timing
- Interrupt Pin
- Latency Timer
- Expansion ROM Base Address
- PCI Bridges (all of the above, plus):
- PCI bus modelled with LMI_PCIPortGroup
Used Resources¶
- libpci library [from pciutils package, pci/pci.h header file]
Physical Asset Profile¶
Physical Asset Profile provides basic information about physical assets in system, usually with FRU data, currently for following hardware (with associations):
- System Chassis
- Baseboard (motherboard)
- Chassis Ports (USB, LAN, VGA..)
- Chassis Slots (Media card slot, Express card slot..)
- Pointing Devices on Chassis (Touch pad, Track point..)
Used Resources¶
- dmidecode program [from dmidecode package]
BIOS Profile¶
BIOS Profile provides information about BIOS:
- Version
- Manufacturer
- BIOS Major and Minor Release
- Embedded Controller Firmware Major and Minor Release
- Release Date
- Current Language
- Available Languages
- Characteristics
Used Resources¶
- dmidecode program [from dmidecode package]
Disk Drive Profile¶
Disk Drive Profile provides information about disk drives:
- Overall S.M.A.R.T. Status
- Temperature
- Capacity
- Manufacturer
- Model
- Serial Number
- Firmware Version
- Form Factor (Disk Size: 2.5”, 3.5”..)
- RPM
- Port Type (ATA/SATA/SATA2)
- Max Port Speed
- Current Port Speed, also can be found as Interconnect Speed
- Disk Type (HDD/SSD)
Used Resources¶
- lsblk program [from util-linux package]
- smartctl program [from smartmontools package]
- /sys/class/block/*/device/vendor file
- /sys/class/block/*/queue/rotational file
Battery Profile¶
Battery Profile provides information about battery:
- Capacity
- Voltage
- Chemistry
- FRU Data
- Battery Status
- Charging Status
- Estimated Run Time
- Estimated Time to Full Charge
- Remaining Health Percentage
Used Resources¶
- dmidecode program [from dmidecode package]
- /sys/class/power_supply/BAT*/* files