

Forcing a low max speed on a healthy CPU Fan with fully functioning sensors can seriously damage your Mac.- Install smcFanControl- In terminal use the following commands- /Applications/smcFanControl.app/Contents/Resources/smc -k F2Mx -w 12c0This will set the CPU Fan to a maximun of 1200 rpmTo go back to default settings(3900 rpm) you can use the following commands:/Applications/smcFanControl.app/Contents/Resources/smc -k F2Mx -w 3cf0Other fan speeds you can try:1100rpm = 11301500rpm = 17703900rpm = 3cf0All you need to find out now is a way for this script to run at bootup. This solution should only be used if you know what you're doing and you are absolutely sure the CPU fan on your iMac is indeed out of control. Using terminal commands there is a way to force your CPU fan to run at tolerable rpms. From what I have heard, there have been a lot of cases where the temperature sensor is at fault.If you are willing to work on the terminal there is a script that can help you out with the fan speed.

Would it be possible for you to check inside your case and clean the fans and the cooler? Have you tried the Apple Hardware Test? the Apple Hardware Test and hopefully It'll show you if something is not running ok.

Dust on the blades make the blades heavier and therefore the fan compensates by running at a higher speed. after downloading smcFancontrol, i realise that smcFancontrol takes over how the fans operate. The reason it is struggling is because of dust on the blades. Hello, usually when a fan is really noisy is because it is struggling to keep up with the heating.
