On one of the computers I was using, I started noticing a high pitched noise after I moved into a quieter room. At first, I thought I heard it after I turned off the computer. It must have been one of those ghosts. I haven’t bothered with it until today because I rarely turn off my computer. Also, it didn’t have support for suspend compiled into the kernel, which often requires a lot of modules to be built. I am using a minimal kernel seed from http://kernel-seeds.org/, so I didn’t bother adding those modules.
You can tell the high pitched noise is coming from your CPU if running a computationally intensive process suddenly silences it. First, I tried adding more CPU power management and adjusting fan speeds in the BIOS. They are related. If the CPU is using less power and running cooler, the fan also spins slower with less noise. I didn’t expect Intel’s market dominating CPU to be producing the noise. However, just like Windows or any market leader, there’s not enough competition for such things to be a threat. Next, typing a simple search query for “linux kernel config high pitch” lead me to http://www.thinkwiki.org/wiki/Problem_with_high_pitch_noises, and I tried the first solution by recompiling my kernel. I had a similar problem with my old Dell laptop when it went to sleep. I ended up never using sleep so that I could sleep at night.
The solution is to set CONFIG_ACPI_PROCESSOR=n under ACPI options. If you’re new to compiling a kernel, a good guide is Linux Sea.
[*] Deprecated /proc/acpi files
[*] Deprecated power /proc/acpi directories
< > ACPI 4.0 power meter
[*] Future power /sys interface
[*] Deprecated /proc/acpi/event support
<*> AC Adapter
< > Processor
<*> Thermal Zone
[ ] Debug Statements
< > PCI slot detection driver
< > Smart Battery System