I have been closely monitoring my CPU temperature and fan speeds. I understand the fan speeds are controlled via the bios, with no user adjustments possible (other than setting them at full-speed). What I have observed is as follows:
1) The diagnostic tests (F12 at startup) all pass successfully. Both fans are capable of speeds in excess of 4500 rpm.
2) At any CPU temperature under 72C, the fans run at a constant idle speed: CPU fan @1026 rpm; front fan @1198 rpm.
3) Starting at a CPU temperature of 72C, the fans begin to accelerate.
4) At a CPU utilization at ~95%, the fans will adjust their speed to keep the CPU temperature at 85C. There is no attempt by the system to increase fan rpms to reduce the temperature below 85C. The maximum rpms I have observed are 2072 rpm for the CPU fan and 2201 rpm for the front fan. (At these speeds, the fans are barely audible.)
5) The CPU temperature of 85C is maintained no matter how long the CPU utilization is at 95% (admittedly, only tested for 45 minutes).
Depending on the source of information, 85C is at the top end of what is considered an acceptable sustained temperature for an I7 4770. I would prefer this maximum sustained temperature to be lower.
So, three questions:
1) Is this normal?
2) Is there a way to adjust the "maximum temperature allowed" to some other temperature (say, 80C)?
3) Is there a "private build" for the bios that accomplishes #2 above?
Thanks in advance.
I'm surprised that there were no responses to my query. In any event, I've done further work and conclude the following:
1) I think the fans are set to start spinning above idle speed at 70C, not 72C as I stated in my original post.
2) I think the BIOS is set to keep the CPU temperature no higher than 85C as stated in my original post. It accomplishes this by spinning up the fans. Having said that, I'm not 100% sure it is a simple as that. There may be a more complex calculation being made which includes some other measurement as well (see below). The maximum fan speeds I have observed are about 2100 rpm for the CPU fan and 2200 for the front fan, even though the fans will spin much faster (> 4500 rpm).
3) At high sustained CPU utilizations (95%+), the CPU temperature bounces between 85C and 87C, occasionally hitting 89C. While the CPU temperature bounces around at these levels, the fan speed will also bounce around a little. In other words, rather than leave the fan speed at a higher level and allowing the CPU to cool below 85C, the fan speed slows down.
4) As near as I can figure, I believe this is the way the BIOS is designed, and so I believe this behavior should be considered "normal." Apparently, Dell has decided to minimize the fan noise at the expense of a higher CPU temperature.
5) While opinions vary widely on the web, it seems that most reputable sources suggest keeping the maximum CPU temperature of the I7 4770 in the low 80's C. Higher than that probably shortens the CPU life - although most seem to agree that if it affects the CPU life at all, it would be at the end of the CPU's life and not cause an early failure.
Even though I think my OptiPlex 9020 is behaving as designed, I would prefer to lower the CPU temperature when it is being fully utilized, if possible. Searching for some kind of enhance CPU cooler, I basically concluded there is none available. I could not find anything that would accommodate the 3" form factor of the cooler fan shroud.
Given the way the BIOS appears to work (#2 and #3 above), It would seem that taking the lid off the case to increase the airflow would not affect the maximum CPU temperature at high utilization rates. The CPU may stay cooler longer, but once it reaches 70C, the fans would start to spin up beyond idle speed. Further, once the CPU reached 85C, the fans would adjust their speed to maintain 85C. However, that's not exactly what I observed. At the low end of the temperature spectrum, the observed behavior is what I expected. However, at the high end, the maximum temperature reached was about 80C instead of 85C before the fan speeds would start to vary to maintain the constant temperature. In other words, the maximum temperature the system would maintain was about 5C - 6C cooler with the cover off. Apparently, the BIOS is looking at more than just the CPU temperature to determine how it should manage it.
In any event, armed with that information, it seemed to make sense to consider doing something to improve the air circulation inside the case. The CPU cooler fan takes the air above it from inside the case, passes it through the heat sink and expels it out the back of the case. (The CPU fan shroud is the critical component that allows that to be accomplished.) The air supply inside the case comes from the front fan, which takes outside air and brings it inside the case. However, with the lid off, obviously, the CPU fan has access to a larger supply of air. Therefore, it seemed as though that if I could create a way for the CPU fan to have access to a larger supply of air, I might get the same temperature-reduction benefits as having the lid off.
I downloaded a template with a number of 5/16" holes shaped in a circular pattern and drilled vent holes in the lid cover over the CPU fan. Reinstalling the cover, I found that the maximum CPU temperature when the CPU is highly utilized (95C+) is now just about 80C. While I will probably never know if this modification improves the life of the CPU, it certainly doesn't hurt it. Therefore, I consider adding vent holes above the CPU fan to be a successful, and easy to implement, modification.
Well, before you start cutting into things there may be a different answer...
1. I am surprised that there is no BIOS option for you to change those settings. I would take another look threw the entire bios and make sure those settings are not hidden somewhere. I know of a shortcut key configuration that will let you control the fan speed on a Dell laptop but I don't know if it will work for a desktop. It is fn + shift and a series of numbers, you can google/youtube it.
2. You could always buy a fan controller module and use that to set the speed of the fans manually. These are front panels that fit into the standard 5.25in bay slots. Set up should be fairly easy and quick.
3. There is a software called speedfan and this might actually be able to help you see what is going on and adjust the speeds accordingly.
4. And lastly, you could do a little bit of modding and add a potentiometer to the red cable of the fan and control the voltage going to it. The more the voltage the faster the speed, but keep in mind you need to know the current draw of the fans. So, use a meter first to figure out how much is going threw and then get the potentiometer that meets your needs.
These are just the things I would think of to do and I hope that it helps you out regardless!
Thanks for the info and suggestions. Taking them one at a time:
1) The only option in the BIOS regarding fan speed is to have them fully controlled by the BIOS or both fans run at 100% all the time. Dell support confirms this.
2) I will look into the option of a fan controller, but there's not much space. We'll see what I can find out...
3) I do use Speedfan (that's how I determined the fan speed and CPU temperature). While it can read the data, it is limited in terms of how it can control the fan speed. Even though the BIOS seems to have full variable speed control, essentially, Speedfan can only set three speeds: 33% or below runs the fans about 100 rpm below the normal idle speed; 34%-66% runs the fans at their normal idle speeds; and 67%-100% runs the fans at 100%. (I've seen other posts regarding the Optiplex 9020 that confirm this behavior.) So, that solution isn't really viable.
4) Since I often run the computer remotely, requiring manual adjustment of pots isn't an ideal solution for my situation.
In any event, I've already drilled out the vent holes and the results look like the vent is OEM. So, at this point, I am satisfied. Thanks again.