Мониторим мощность процессора, чтобы потом например рисовать гнуплотом, не используя блотверную питонятину от косячка:
import Control.Concurrent
import qualified Streaming.Prelude as S
toJoules :: String -> Double
toJoules = (/ 1e6) . (read :: String -> Double)
main = do
S.print $ S.drop 2 $ S.scan (\(prev, _) new -> (new, new - prev)) (0, 0) snd $ S.map toJoules $ S.repeatM (threadDelay 1000000 >> readFile "/sys/class/powercap/intel-rapl:0/energy_uj")