Commit f70d3e
2025-06-12 13:30:10 deseven: -/-/dev/null .. Guides/C-States.md | |
@@ 0,0 1,28 @@ | |
+ | # C-States |
+ | |
+ | ### Problem |
+ | When running Linux, especially older 6.x kernels, you might find that the CPU doesn't use C-states below C1, constantly running on higher frequences and eating power. |
+ | |
+ | ### Solution |
+ | For some reason I couldn't make it work with either `acpi_cpufreq` or `amd_pstate`, but [CoreFreq](https://github.com/cyring/CoreFreq) turned out to be a perfect solution once again. |
+ | |
+ | Assuming that you already have it installed and working (otherwise check [[this guide|Guides/Hardware-Monitoring]] first): |
+ | |
+ | ```bash |
+ | # /etc/kernel/cmdline |
+ | ... initcall_blacklist=acpi_cpufreq_init nmi_watchdog=0 idle=halt amd_pstate=disable tsc=unstable nowatchdog |
+ | ``` |
+ | |
+ | ```bash |
+ | # /etc/modprobe.d/blacklist.conf |
+ | k10temp |
+ | acpi_cpufreq |
+ | rapl |
+ | ``` |
+ | |
+ | ```bash |
+ | # /etc/modprobe.d/corefreqk.conf |
+ | options corefreqk Register_ClockSource=1 Register_CPU_Freq=1 Register_Governor=1 Register_CPU_Idle=1 Override_SubCstate="1,1,1,1,1,1,0,0" |
+ | ``` |
+ | |
+ | Don't forget to do `update-initramfs -u -k all` after changing kernel's cmdline. |