As an example, I am interested in characterizing the power consumption of rendering a PDF document. I would hopefully only need to run the renderer once.
I can use PowerTOP, but it seems to be limited to rough measurements on the order of tenths of a watt. This measurement can be divided among the wakeup events in an attempt to calculate software power consumption but it seems imperfect if I want to monitor a single process that may be competing relatively equally for resources with the kernel and other user processes. PMBus is a spinoff of SMBus which is a spinoff of I2C which is found on many motherboards. PMBus is supposed to be the interface which controls and reports power supply activity. Besides the main kW power supply, there is usually a power supply near your processor that steps down 3.3V or 5V to 2.8V, 1.8V, or lower (I've seen as low as 0.8V, but not on a desktop). I was not aware these had a visible interface. Apparently you can talk to these, but my searches can only find code which seems highly experimental. The other replies seem to be for embedded Linux systems running on FPGAs and perhaps Cortex-A parts. If I were using a microcontroller I could get uA or nA draw per MHz and I know my operating voltage and operating time. However, desktop processors are much more complex, and I am not sure if they have been entirely characterized. The most advanced tool I can find is PowerTOP and it does not seem very accurate. Does anyone have any suggestions? Should I start reading source code or post on the forums? Or perhaps someone has used PowerTOP and found it to be reasonably accurate? R0b0t1.