I recently built a computer with an AMD FX-8350 8-core processor, running FreeBSD 9.1. I've been testing it under heavy load, and a curious thing has been happening. I have a program that keeps all 8 cores running at 90-100% for quite a while. Without getting into too many specifics, when I run the program one way the CPU stays at about 53C (95-100% load,) and if I run it another way it stays at about 63C (90-95% load.) This makes no sense to me. The program goes through the exact same operations regardless of how it's run (it multiplies matrices incrementally by preloading small sections into RAM.) The only differences are how much RAM and address space are used, how often disk I/O happens, and how many times each loop is executed.
- The first instance (process that causes 53C) mmaps about 24GB and allocates about 520MB. It reads/writes (raidz2) about half as often as the other instance, which is why the core loads are higher. All reads and writes are sequential and in large blocks.
- The second instance (process that causes 63C) mmaps about 6GB and allocates about 516MB.
It could be that the first instance is making better use of the CPU caches, or that using the SB (for disk I/O) causes more CPU heat than does using the NB (for RAM.) I really can't think of any other reason for such a large difference in temperature. Neither of the temperatures are horrible, but if/when I decide to mess around with overclocking I'd like to know that I can max out my CPU heat predictably.