Hardware Monitor

On this page

Hardware Monitor

Known Issues

Hardware Monitor does not show any per-core temperature sensors when it is used with OS X 10.10 Yosemite or later: If you upgrade to OS X Yosemite from an earlier release of OS X or Mac OS X, Hardware Monitor will still show CPU temperature readings per chip, but no longer per core. The affected sensors won't be displayed. They are marked "disconnected" in the list of sensor preference settings.

Discussion: This is the correct behavior as intended by Apple. To retrieve and interpret readings from the built-in Digital Thermal Sensors (DTS) of Intel processors, the application needs an additional driver not provided by Apple. As of version 10.10 or later, third parties need explicit permission from Apple to develop such a driver for use with OS X. The driver shipped with Hardware Monitor does not have this permission. If you like to clean your upgraded system from remains of this now depcreated monitoring feature, select the menu item Monitor > Uninstall driver for extended x86 support and follow instructions, then also remove your affected view preferences by pressing the Delete button for any CPU Core xx entry in the Sensors pane of the Preferences panel.

Release Notes

What is a S.M.A.R.T. hard disk sensor?

S.M.A.R.T. is the abbreviation of Self Monitoring, Analysis, and Reporting Technology . It is an industry standard introduced in 1992 to react earlier on hard disk failures. A hard disk supporting the S.M.A.R.T. standard monitors itself with its own micro processor and allows the operating system to request readouts that indicate whether operational parameters have changed in such a way that the hard disk might become defective in the near future. In this case the hard disk can be replaced before any data is lost.

Some hard disk manufacturers allow the computer to request additional detail information, e.g. the current operating temperature of the disk. However, this feature is not an official part of the S.M.A.R.T. standards. Not every disk supporting S.M.A.R.T. is capable of providing temperature readings. Either the data is not measured at all, or the hard disk manufacturer did not publish how the data can be read out from the disk controller.

Hardware Monitor analyzes all hard disks connected to your computer if they include accessible temperature sensors. Each disk is tested for compliance with the S.M.A.R.T. standard. If the disk is supporting S.M.A.R.T. and the procedure for reading the temperature value of this particular model is known, the readings are automatically acquired by the software.

Why is no temperature displayed for my external FireWire or USB hard disk?

Nearly all FireWire or USB hard disks are in fact ATA hard disks accessed via a "FireWire/USB to ATA bridge device". Those bridge chips only translate a subset of the ATA commands between the FireWire/USB and the ATA protocol standards. In particular, commands to transfer S.M.A.R.T. diagnostic data (which are needed to access the temperature sensors inside the drives) are usually not supported. For this reason it is technically impossible to transport temperature data across a bridge. There will be a future industry standard called "Smart Command Transfer (SCT)" which will address this issue. But it will take some time before Apple and the hard disk vendors can fully support this.

Use the menu item Window > Show Drive Overview or Press +8 to display the transport protocols of all disk drives and their S.M.A.R.T. capabilities.

Why is no temperature displayed for my solid state drive (SSD)?

Not all drives compliant with the S.M.A.R.T. standard are providing temperature values. Different from conventional hard disks, the ambient temperature is not an important factor to estimate the remaining lifetime of an SSD. For this reason, many SSDs don't have any temperature sensors.

My computer can display the CPU temperature using a program running on Mac OS 9, or using a special software for an upgrade CPU card with Mac OS X, but the monitor application does not find any sensors. It this an error?

This can only happen for computer models that either are using very old processor models which estimated their internal temperature via an inaccurate Thermal Assist Unit (TAU) but not a real temperatur sensor, or for computer models having a processor card of a third-party manufacturer which uses its own drivers.

If you are using a third-party processor card and temperature values can be displayed by special software, the manufacturer of this card has to publish a driver which is compatible with Mac OS X and makes temperature readings publicly available. After that, the sensor will be automatically detected by the application and values can be displayed. Card manufacturers can contact us for receiving more technical information.

Note that we cannot support upgrade processor cards from manufacturers that do not disclose technical detail information about their products. Some companies want to sell their own temperature monitor software and make sure their sensors cannot be accessed openly.

I am running the program on an x86-based computer which has not been manufactured by Apple. Only sensors for hard drives, batteries, and Intel CPU monitoring are displayed, but no other values. Can you add support for the other sensors of my mainboard?

This is only possible if the manufacturer of your system or your mainboard develops a driver for the sensors that is compatible with Mac OS X. Manufacturers can contact us for receiving more technical information

The sensor X shows the reading Y. Is this normal?

If you want to find out whether a sensor value is within normal limits, please select the menu item Window > Show Overview (or press +1) and look for the limits in the third and fourth columns of the sensor table. They contain the known official limits Apple has specified for readings acquired at the given sensor locations. If no limit is given in the table, this either means that it does not make sense to specify a limit for this particular sensor (e.g. the battery capacity should not have limits), or Apple hasn't published any specifications for this sensor.

Note that all up-to-date Macintosh models automatically shut down or enter sleep mode if one of the readings exceeds a critical limit. For this reason it is impossible that your computer can be damaged in an overtemperature condition.

For old computers without temperature managment, no limits have been specified by Apple. In this case use the following limits as orientation:

Why is my hard disk not put into sleep mode if the application is running?

If one or more hard disks are equipped with temperature sensors, the values will be read out in regular intervals. Mac OS X is interpreting this as access to the hard disk which causes the disk not to be put into sleep mode.

You can change this behavior by enabling the disk saver feature of the application: When you are inactive and the computer is not really in use for some period of time, the program can automatically stop all sensor communication with your hard drive(s). This allows the standard sleep feature of the hard drives to become active. Just open the preferences window, go to the General pane and set the pop-up menu of the option Disk Saver to the desired time-interval for user inactivity.

Why is only one temperature value displayed for my dual G4 computer? It has two CPUs.

The temperature value is not measured by the processor itself but by an external sensor. For the "Power Mac G4 (Mirrored Drive-Doors)" this sensor is located at the center of the processor board. Only one sensor is available even if there are two processors on the card.

Why are two hard drive temperature sensors displayed for my iMac G5? It has only one hard drive!

The iMac G5 may have two temperature sensors for the hard drive (depending on the drive model) although it contains one hard disk only. The sensor labeled as S.M.A.R.T. hard disk sensor is the internal temperature sensor provided by the hard drive vendor. The sensor labeled Hard Drive is the sensor provided by Apple. Apple's sensor is mounted at the outer metal frame of the drive carrier unit and measures the temperature of the air flow produced by the drive cooling fan. The S.M.A.R.T. sensor is located inside the drive unit, so its temperature is usually some degrees higher.

Why do the power sensors of the Power Mac G5 slots not carry a unit?

At this time we don't have enough data about these sensors. For this reason it is unknown in which unit the readings have to be interpreted. The readings could, for example, be interpreted as milliwatts. The sensors Slot 12V, Slot 3.3V and Slot 5V show the power load drawn by PCI cards for the respective voltages. The sensor Slot combined also includes the current power load by the SATA hard disks.

Why do the readings for the temperature sensors "Processor Card x Ambient" found in some PowerMac G5 systems never change?

Mac OS X does not seem to refresh these sensors on a regular basis. The system also ignores explicit commands to get new readings from these sensors. It is necessary to restart the computer or to put it to sleep mode temporarily to get up-to-date values.

The application displays a warning that I am using an Intel CPU with out-of-date microcode and that the per-core temperature sensors may stop working after the system is waking from sleep mode. What should I do?

This problem is caused by an internal design flaw affecting the first generation of Intel Core processors. The Digital Thermal Sensors may stop working when the processor returns from a C3/C4 power saving state. Intel has corrected this hardware bug in later versions of the CPU.

As a workaround, you should install Apple's firmware updates for your particular Intel-based Macintosh model. This will fix the problem in most, but not all cases. It is recommended to install the firmware update for the Boot-ROM, as well as the firmware update for the System Management Controller (SMC). To download the firmware updates from Apple, please see the following table:

Macintosh Model
Firmware Update
SMC Firmware
iMac (early 2006)
Mac mini (early 2006)
MacBook Pro 15" (early 2006)
MacBook Pro 17" (early 2006)
MacBook (early 2006)

NOTE: Macintosh systems built after September 2006 are no longer affected by the aforementioned problem.

Intel refers to this hardware problem as Erratum AE18. For detailed information, please see Intel document 30922204.

What does it mean if the reading for an internal temperature sensor of an Intel processor is being displayed as "---"?

This indicates that the application has no longer received up-to-date values from this sensor for a certain amount of time. This is normal if you have switched off the respective CPU core. Under specific circumstances, this can also happen if the system is under very low or very high CPU load. Note that Intel recommends a default access interval of 82 seconds to read out and use data of thermal processor sensors, so continuous monitoring of these sensors is not really critical.

When using an up-to-date Intel Core i series processor, many of the internal core sensors of the processor show "---" readings only. Is this normal?

Yes, this is the correct and intended behavior of Core i series processors, depending on current system load. Mac OS X fully supports the energy saver technologies offered by these CPUs. If your computer is not under full load, all unused processor cores will be powered off, so their internal sensors are shut down, too. The cores will automatically wake up again when more jobs have to be executed. If you have a system with 2 processor packages, with 8-cores and 16 logical processors in total (see the section on Intel Hyperthreading further below), you will see the following behavior, for example:

Full Load
Medium Load
Low Load
CPU Core 1 (on CPU A) x
CPU Core 2 (on CPU A) x
CPU Core 3 (on CPU A) x
CPU Core 4 (on CPU A) x
CPU Core 5 (on CPU A) x
CPU Core 6 (on CPU A) x
CPU Core 7 (on CPU A) x
CPU Core 8 (on CPU A) x
CPU Core 9 (on CPU B) x
CPU Core 10 (on CPU B) x
CPU Core 11 (on CPU B) x
CPU Core 12 (on CPU B) x
CPU Core 13 (on CPU B) x
CPU Core 14 (on CPU B) x
CPU Core 15 (on CPU B) x
CPU Core 16 (on CPU B) x

All cores are operating. You are receiving values (here denoted by x) from all core sensors.

CPU Core 1 (on CPU A) x
CPU Core 2 (on CPU A) ---
CPU Core 3 (on CPU A) x
CPU Core 4 (on CPU A) ---
CPU Core 5 (on CPU A) x
CPU Core 6 (on CPU A) ---
CPU Core 7 (on CPU A) x
CPU Core 8 (on CPU A) ---
CPU Core 9 (on CPU B) x
CPU Core 10 (on CPU B) ---
CPU Core 11 (on CPU B) x
CPU Core 12 (on CPU B) ---
CPU Core 13 (on CPU B) x
CPU Core 14 (on CPU B) ---
CPU Core 15 (on CPU B) x
CPU Core 16 (on CPU B) ---

All physical cores (odd numbers) are operating, the virtual Hyperthreading cores (even numbers) are shut down.

CPU Core 1 (on CPU A) x
CPU Core 2 (on CPU A) ---
CPU Core 3 (on CPU A) x
CPU Core 4 (on CPU A) ---
CPU Core 5 (on CPU A) x
CPU Core 6 (on CPU A) ---
CPU Core 7 (on CPU A) x
CPU Core 8 (on CPU A) ---
CPU Core 9 (on CPU B) ---
CPU Core 10 (on CPU B) ---
CPU Core 11 (on CPU B) ---
CPU Core 12 (on CPU B) ---
CPU Core 13 (on CPU B) ---
CPU Core 14 (on CPU B) ---
CPU Core 15 (on CPU B) ---
CPU Core 16 (on CPU B) ---

An entire processor package (in this case B) is powered down.

Some other monitoring applications always show temperature values for all available cores on my Core i processor. Isn't this a better behavior?

No, this is in fact a serious design flaw in those programs. They either don't track correctly which cores are sleeping, or -even worse- they force all cores to keep awake in order to get updated readings continuously. The latter will significantly change the normal behavior of the CPU, creating very different readings for temperature, voltages, currents, and power. Influencing the monitored object is the worst thing a monitor program can do.

When running certain applications on my Core i processor, I sometimes see a sudden increase of temperature, amperage and power values. The readings remain at a high level until I shut such an application down. Is there something wrong with my system?

No, what you see is an intended feature of certain Core i processors which is called "Intel Turbo Boost Technology". If the processor detects that most of its cores are sleeping because total load on the system is low, but there is one continuously working program which is not multi-threaded, so it mainly works on one core only, the processor will automatically accelerate itself by increasing its clock frequency, a procedure known as "overclocking".

Overclocking means that the CPU will run at a "higher than normal" clock frequency. For example, if you have a system with a nominal clockspeed of 2.66 GHz, the processor may accelerate to clockspeeds of up to 3.06 GHz. Acceleration is done by the processor itself. The operating system can neither influence nor control this, it only needs to enable the standard energy saver features of the processor. Operating the processor beyond its normal clock specifications is possible in this particular situation, because only one core is active while the others are powered down, so there is a large remaining safety headroom which can be exploited by the single core. For example, when only one core in a 4-core processor is active, it can safely consume more power and generate more heat than normal because the single core can "steal" the safety headroom normally reserved for operating the other 3 cores.

Turbo Boost ensures that the processor can assess its own headroom. The processor monitors its own temperature, the drawn current, and its power consumption. Increasing the clock frequency stops automatically as soon as either the temperature is some degrees below the allowed maximum limit, electrical specifications are some percentage below their permitted maxima, or the highest possible overclock frequency has been reached. Of course, Turbo Boost will also stop as soon as the other cores are waking from sleep state, i.e. when total system load becomes higher. This can result in the unusual consequence that the temperature of the processor may decrease when total CPU load increases.

It is not uncommon for the core temperature to rise by more than 30 centigrades, or the drawn current to rise by more than 8 Amperes within a few seconds, as soon as Turbo Boost becomes active. The actual effects and the applications triggering Turbo Boost may vary between operating system versions, because Apple is silently optimizing the energy saver and scheduling features during certain OS updates. Due to the nature of Turbo Boost, process scheduling and energy saver policies have an indirect effect on the times when the processor can safely exploit Turbo Boost.

To learn more about Turbo Boost, please consult Intel's official web page at http://www.intel.com/technology/turboboost/.

Why are the temperature values for some of my FB-DIM modules in the Mac Pro or Xserve missing while others are displayed fine?

This indicates that you are using FB-DIMMs which are not fully compatible with Macintosh systems. In most cases this is caused by errors in the firmware of the AMB chip (Advanced Memory Buffer) controlling the module. You should replace these incompatible modules: If your system is not receiving valid temperature readings from the FB-DIMMs, the cooling control for the RAM temperature zone won't work correctly.

I get readings of more than 90°C (194°F) for the FB-DIM modules in my Mac Pro. Isn't this a bit high?

No, temperatures in that range are normal for FB-DIMMs and are no cause for concern. Each FB-DIMM contains its own controller, called "Advanced Memory Buffer (AMB)". An AMB also contains an internal sensor which measures temperature directly inside the chip. The specified maximum temperature
range of an FB-DIMM, measured by the AMB, usually lies in the interval between 95°C and 125°C (203°F .. 257°F). It will vary from manufacturer to manufacturer, a typical value is 110°C (230°F). If you like to know the exact specifications for your FB-DIM modules, note the part number and manufacturer of the respective modules (printed on the label of each module), and download the data sheets for those parts from the manufacturer. Nearly all chip manufacturers and RAM vendors publish the specifications at their web sites.

I am using an Intel-based system of a model series which was announced after January 2008. Hardware Monitor displays "Core Hot" status sensors, but no other core temperature readings. Does this indicate a problem?

No, this is the correct and intended behavior for some specific Intel processors. When Intel introduced the third generation of Core and Core-based Xeon processors, manufactured in 45 nm technology ("Penryn" series), they also changed specific aspects how the Digital Thermal Sensors (DTS) on the chip cores are working. To check if your system is using a third generation Core processor, open the System Info window in the application and press the button More info… inside the window. A processor of this series will be identified as x86 Family: 6, x86 Model: 23.

If a processor of this series additionally identifies as being Xeon(R), it won't be possible to get an accurate per-core temperature reading. Those processors are equipped with Digital Thermal Sensors which do not work linear enough under normal operating conditions. They will only show accurate readings near the maximum allowed temperature limit. For this reason, Hardware Monitor will display a "Hot" status information only.

If a processor of this series identifies as being a Core(TM) 2 Duo, it will depend on the exact CPU model. For the processor types in use by Apple, the applications should be capable of displaying core temperature readings. If you are using a CPU usually not found in Apple computers, the applications might not always be capable of displaying core readings.

When using an Intel Core 2 Duo processor of family 6 model 23 (see previous question) the temperature readings from the core sensors sometimes appear to be lower than the outer CPU temperature. Isn't this wrong?

This is the way the Digital Thermal Sensors and the temperature diode sensors are designed. The effect is caused by different policies used for the calibration of the sensors. The two types of sensors have different accuracies and are factory-calibrated to different maximum points. For this reason, the DTS reading cannot be used to predict the CPU case reading.

How should I interpret the output of the sensors named "CPU Core x Hot"?

On low core temperatures, the sensors will give a reading of 0. When the core temperature exceeds a value of 10 Kelvins below the maximum allowed temperature limit, the value will switch to 1, indicating that the core is hot. This tries to match the behavior of Apple's cooling system which usually attempts to hold the temperature of Intel CPUs in the range between 20 and 10 Kelvins below the maximum point when the processor is stressed under full operating load. This means, a hot status does not indicate that the CPU has reached an overtemperature condition yet, it may still be 10 Kelvins below it. In fact, many users consider this temperature range to be the "best" operating condition, because it indicates that the CPU has reached its maximum Thermal Design Power and is operating with full performance.

The application displays readings for twice as much processor cores as should actually be in my Mac. Is this correct?

Yes, this behavior is correct for processors with Intel® Core™ i technology. By default, Mac OS X will enable a hardware feature called "Simultaneous Multi-Threading" when detecting these CPUs. Intel calls this "Hyperthreading Technology". Simultaneous Multi-Threading means that a single processor can dispatch two independent streams of instructions at the same time, so one physical processor can act as two processors. Mac OS X and all applications will behave as if twice as much processors are built into the computer. To display the true number of physical and virtual processors, select the menu item Window > Show System Info, or press +4. The line Number of processors will display how many physical and how many logical processors are available, and how many processors are currently actively in use by Mac OS X. The number of processor chips can be displayed by pressing the button More info… next to this line. By using the navigation buttons in the upper right corner of the processor details sheet, you can browse through all chips available. The program will display each chip with the title Unit x, where x is the current number of the chip package. Example: 8 processor cores, 16 logical processors, 16 actively in use, in 2 chips.

The System Information window shows a bus speed of only 100 MHz. Isn't this wrong for my new Mac with Intel Core i processor?

No. The value of 100 MHz is a symbolic fallback value Mac OS X uses for specific Macintosh models which no longer have a conventional system bus or front side bus. The memory controller has become part of the processor and no longer needs an external bus. The link to I/O devices is now handled by the Direct Media Interface (DMI).

I am using a third-party tool to enable the SLFM feature of my Intel processor. However, the frequency change is not reflected by the frequency sensor display of Hardware Monitor. Does this indicate a problem?

No. Hardware Monitor currently doesn't support monitoring the SLFM status (Super Low Frequency Mode) of Intel processors. This would require accessing undocumented parts of the processor. For safety reasons, it is the application's policy not to use such techniques. If you have modified your system to use SLFM within Mac OS X, the frequency reading shown by Hardware Monitor can sometimes be off by a factor of 2.

Why do some PowerMac G5 systems with 4 CPU cores sometimes not display values for their second cooling pump?

Apple distributes two different versions of the "quad" PowerMac G5 computers: Some of them are equipped with two pumps for the liquid cooling system, while others contain a revised version of the cooling system with only one pump. Hardware Monitor correctly reflects the situation for each version. If the sensor for the second pump is missing (label "CPU B Radiator Pump"), your computer uses a liquid cooling system with one pump only.

I have disconnected a fan cable or completely removed a fan in my Mac. Hardware Monitor still displays changing sensor values for this fan however. How is this possible?

Depending on the hardware model you are using and on the version of Mac OS X currently running, the operating system may not allow than an application program (like Hardware Monitor) gets access to the input values sent by the fan sensors. To get a reading nevertheless, Hardware Monitor then tries to get the output values the cooling control system sends to the fans.

Under normal circumstances, there is no difference between the input and the output values: If a fan is present, it will automatically follow the output value within a few milliseconds. However, when you remove the fan or the sensor, you are getting a "ghost" reading.

I am using a portable Mac of a model series announced after October 2008. Sometimes, the set of displayed GPU sensors appears to be changing. Many of the sensors for the graphics chips are, for example, displayed as being "disconnected" when I display their preferences in the Sensor section of the Preferences window. How is this possible?

In this case, you must be using a Mac capable of switching between two alternative graphics solutions, for example a pair of an Nvidia GeForce 9400M and a GeForce 9600M GT, or Intel HD Graphics paired with an Nvidia GeForce GT 330M. It is the correct and expected behavior to only show the sensors which are currently online. The sensors of the GPU which is currently offline are powered down and even cannot be detected. If you find an option for Graphics in the Energy Saver section of System Preferences, your Mac will support this kind of switching.

In some cases, your Mac might be in an aggressive power saving mode when starting the application, with the effect that the application may see both GPUs as being inactive. In this situation, the readings of all graphics processor sensors -with exception of the outer chip and heat sink sensors- will be suppressed.

If you have upgraded to Mac OS X 10.7 Lion, you may also see the "disconnected" state. Apple has removed support for GPU load measuring from many of the graphics drivers of Lion. You should erase the display preferences for the GPU load sensor in this case.

How many registration keys do I have to purchase when monitoring several computers with the remote access feature of Hardware Monitor?

There is one simple rule: You need one registration key for each computer that is monitored at the same time.

Registration keys for Hardware Monitor and Hardware Monitor Remote are interchangeable. So if you are running Hardware Monitor and Hardware Monitor Remote on one computer you'll need only one key for this system. If another copy of Hardware Monitor connects to this system, it will need a second key because then we'll have a network of two monitored computers which are in use at the same time.

Another example: You have 2 computers that should be capable of monitoring each other. In this case you install the applications 4 times (a copy of Hardware Monitor and a copy of Hardware Monitor Remote on both systems), but you only need to buy 2 registration keys.

How can I configure Hardware Monitor to automatically warn me when a disk in a RAID set is failing, or a drive is no longer passing its S.M.A.R.T. self test?

This can be done in two simple steps:

  1. Open the pane Probes in the Preferences window of Hardware Monitor and create a RAID or SMART probe for the drive in question.
  2. Go to the pane Alerts, use the + button next to the table of sensors to be monitored and drag the newly created probe entry from the drawer into the table. Make sure the entry is still selected, remove the checkmark at Trigger alarm: When value exceeds threshold of, and set a checkmark at Trigger alarm: When value falls below, entering a value of 1.

You can then select which of the possible alert actions should be taken. If you want to continuously monitor the drive, it is recommended to add Hardware Monitor to your list of login items.

I have removed the application from an Intel-based system but have forgotten to use its function to deinstall the driver for access to the internal processor sensors beforehand. Can I remove this driver manually?

Yes, this is possible. Make sure you are working as user with administrative permission and remove the folder


at the highest level of your system volume. The driver will become inactive the next time you start the operating system.