You can even set a higher multiplier for increased performance if you wish but I never felt the need.Ĭhanging BD PROCHOT did not seem to work for me on an early 2015 MacBook Air with a missing battery. If you did find it was shutting down you can set the multiplier to a lower number to reduce peak power draw. However this has never happened to me and I've been running it like this almost 24*7 for the last couple of years. This is perhaps the reason Apple set this register on. In theory it is possible that at peak load you could take more power than the power adapter alone can supply resulting in a shutdown. If you turn off BD PROCHOT and set the multiplier to 25 you can get the 2.5 GHz. As you can see with it set on (as it is by the MacBook firmware) the clock is limited to 1.2 GHz. On Windows however there is a program called ThrottleStop which easily lets you turn off BD PROCHOT. I tried to write an EFI program to do this myself but could not get it to work - see Stack Overflow question How to make changes to msr 0x199 from EFI stick?. This is quite surprising as people facing throttling due to removed batteries is a fairly common issue. This is described in Intel® 64 and IA-32 Architectures Software Developer's Manual Volume 4: Model-Specific RegistersĪlthough there are various macOS utilities to change other MSR (such as Turbo Boost Switcher) I can find no way to turn this one off in macOS. This will cause the CPU to throttle even though it is not itself overheating. The reason for this is that the EFI firmware sets on BD PROCHOT which is a CPU register (msr 0x1FC) usually used to tell the CPU that some other component (GPU or whatever) is overheating. With Intel Power Gadget you can easily see it. Like you I've no intention of getting a replacement and so in macOS the CPU is now throttled to 1.2 GHz. It has no battery as it swelled too much to fit in the case so I removed it. I have a late 2012 MacBook Pro with a i5-3210 CPU which has a base clock of 2.5 GHz and max Turbo of 3.2 GHz. If you don't want to replace the battery and the programs you want to run are available on Windows that would be the easiest/cheapest option. However it is easy to override the throttling on a MacBook if you use Windows as a OS but not if you run macOS. I would like to know if there is any way for IntelPowerGadget to return only specific bits of information (like energy) and in code, not in a csv kind of like pynvml does with a GPU.The CPU throttling due to battery is triggered by the firmware and it doesn't make any difference what version of macOS (or other OS) you are running. The problem is that it outputs everything in a csv file at the end of execution. When called in one of my scripts, it allows me to get info (power usage, energy, time elapsed, temperature etc.) my CPU used during that script. Setup cli command to run Intel Power Gadget using the pathĮlif shutil.which(self._windows_exec_backup):į"Intel Power Gadget executable not found on > /dev/null", # noqa: E501 Self._log_file_path = os.path.join(output_dir, log_file_name) _windows_exec_backup = "C:\\Program Files\\Intel\\Power Gadget 3.6\\PowerLog3.0.exe" _osx_exec_backup = "/Applications/Intel Power Gadget/PowerLog" Parameters can be modified like : duration / resolution / log_file_name Set up IntePowerGadget software and associated path.Ĭreate a command line using this path to run the software.Ĭreate a csv file with all the results inside. I have this class : class IntelPowerGadget: I am currently using IntelPowerGadget to output various information about my CPU while it is running my various Python scripts.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |