Maintainer | ongy |
---|---|
Stability | testing |
Portability | Linux |
Safe Haskell | None |
Language | Haskell2010 |
- data CPUHandle
- data TempHandle
- data FreqHandle
- data NumaHandle = NumaHandle {
- numaCpus :: [String]
- numaHandle :: CPUHandle
- getCPUHandle :: IO CPUHandle
- getCPUPercent :: CPUHandle -> IO [Int]
- getNumaPercent :: NumaHandle -> IO [Int]
- getCPUTemp :: TempHandle -> IO Int
- getCPUMaxScalingFreq :: FreqHandle -> IO Float
- data ScalingType
- getNumaHandles :: IO [NumaHandle]
- guessThermalZone :: IO (Maybe String)
- getThermalZone :: String -> IO TempHandle
- getThermalZones :: IO [TempHandle]
- getFreqHandle :: ScalingType -> IO FreqHandle
- getFreqNuma :: ScalingType -> NumaHandle -> IO FreqHandle
Documentation
data TempHandle Source #
The handle for themperature
data FreqHandle Source #
The handle for cpu frequency
data NumaHandle Source #
Numa aware version of CPUHandle
NumaHandle | |
|
getNumaPercent :: NumaHandle -> IO [Int] Source #
Read node information
getCPUTemp :: TempHandle -> IO Int Source #
get current CPU temperature
getCPUMaxScalingFreq :: FreqHandle -> IO Float Source #
This function returns a frequency according the ScalingType
of the handle.
The returned valued will be the max of all (virtual) proceessors on the system.
data ScalingType Source #
Which values should be returned by getCPUFreq
ScalingMax | Use the maximum frequencie allowed |
ScalingCur | Use the current frequencie used |
ScalingNone | Don't open any files for scaling type |
getNumaHandles :: IO [NumaHandle] Source #
Get the Numa aware handle
getThermalZone :: String -> IO TempHandle Source #
Get the CPUs thermal zone
getThermalZones :: IO [TempHandle] Source #
Get the CPUs thermal zones, will be same order as numa nodes (hopefully)
getFreqHandle :: ScalingType -> IO FreqHandle Source #
Get a frequency handle by type
getFreqNuma :: ScalingType -> NumaHandle -> IO FreqHandle Source #
Get a frequency handle limited to the cpus the numa handle uses