cpulimit is a simple program that attempts to limit the cpu usage of a process (expressed in percentage, not in cpu time). This is useful to control batch jobs, when you don't want them to eat too much cpu. It does not act on the nice value or other scheduling priority stuff, but on the real cpu usage.
cpufreqd is a Linux daemon, that lets you control the speed of your CPU(s), depending on some variables, or also be set manually, you can set it to act dynamically or manually, you can define a lot of profiles and rules, which will control your CPU speed, the variables could be the temperature of your CPU, the amount of charge in your battery if AC is connected or not.
With the number of CPU cores in desktop machines moving from two to four and soon eight, the ability to execute computationally expensive tasks in parallel is becoming more important. The mgzip tools that can take advantage of multiple CPU cores during file compression, while pbzip2 uses multiple cores for both compression and decompression.
CPU Scaling is a feature built into most modern (mobile) CPUs that allows them to scale up or down in how fast they run and how much energy they suck down based on demand. If you have a fairly modern mobile computer there’s a very good chance that your CPU(s) can handle frequency scaling.
One important thing to check on your Linux box, is the CPU utilization, specially if usually compile software, or if you have server applications running on your PC. One good tool to check this is: htop, which will show you a lot of useful information, the important data is the load average, that will show you if you are having processes waiting for the CPU or not.
The default Ubuntu installation of
cpufreq-selector allows only root users to modify CPU frequency scaling policy. This is a security measure and the CPU monitor applet can only read the current CPU frequency and policy.
So, you have an irritatingly loud CPU fan which is making you consider whether or not launching your laptop through the nearest window is a good idea. Well, before you do that, why not give CPU frequency scaling a go.