The Pane Caches

Introduction to caching

Nearly all applications running on macOS make use of file caches. These caches are small files which store precomputed or prefetched information needed very often. By “remembering” and reusing previously requested results, applications can be accelerated significantly. They just access the already known data in their cache files, and don’t need to recompute or to refetch the information. The data stored in cache files can include, for example, the last few Internet web pages an application has accessed, photos of buddies you chat with, or the data to quickly display your Desktop image, already decompressed, scaled and optimized for your display.

Many applications are not actually “aware” that they are using cache files because macOS may create the caches automatically when the programs initially request data via the operating system. This typically occurs in cases where macOS knows in advance that caching will speed up similar requests later on. For example, each program supporting a “check for updates” feature will usually contact a specific web server to fetch status information. If this is done using standard system procedures, macOS will automatically create a web cache for this application and the affected user account in order to accelerate access to its update server. The application does not really “know” this, but will receive the requested information via macOS more quickly than usual.

Caches are responsible for very significant speed gains, but problems can arise if a cache becomes corrupt. A corrupt cache can contain incorrect, outdated or otherwise unusable information, and any of these conditions can cause very strange effects in the applications using it. Under normal circumstances, macOS or the affected applications should detect corruption within the cache, discard the cached information and automatically rebuild the cache when new data is requested. However, this detection function might not always work in practice, especially after a network connection has been interrupted, after a program has crashed, or when your computer has had problems with its clock, rendering it unusable to track which cached information is up-to-date and which is outdated.

Due to the hidden nature of caches, problems resulting from corruption are very difficult to find. You, the user, only see that “sometimes something is very wrong with some applications.” If you experience strange problems with an application, it could be the result of a corrupt cache, but you cannot be sure. The simple, brute-force (and quite possibly harmful) method used to determine whether a cache is corrupt is to delete all the cache files, restart the application, and see if the problem disappears. If it does, you’re in luck; if not, you will have lost that valuable data stored in the caches. It may take hours, days, or even weeks before your system has recovered by rebuilding the caches with the recomputed and refetched information. During this recovery period, the computer may run significantly more slowly than usual.

Although cache cleaning can be an effective maintenance step to resolve specific problems, it can have, as we have seen, harmful side effects. For this reason, TinkerTool System introduces a more intelligent approach: You can temporarily deactivate caches, assess whether doing so has a positive effect, and reactivate them if it does not. This more sophisticated approach effectively avoids the problem of cache cleaning often making the original problem worse.

Some Internet sites recommend cache cleaning (which is actually just cache deletion) as a regular or even scheduled maintenance step. This recommendation is highly irresponsible. We strongly advise you not to follow it. Cache cleaning always has the negative side effect of slowing down your computer. It should only be used as a last resort when troubleshooting a well-defined problem, and knowing ahead of time that the positive results will indeed outweigh the negative effects of losing cache data.

Unprotected and Protected Caches

TinkerTool System offers smart deactivation for the following cache category:

Three other cache categories can only be cleaned, not deactivated, because smart deactivation is prevented by System Integrity Protection of macOS:

In professional environments, the private home folders of users are usually stored on a central file server, not on the individual hard disks of local computers. Because network access is typically a bit or even significantly slower than access to a local disk, macOS keeps all caches where fast access is important in a separate area on the system disk. TinkerTool System refers to them as high-speed caches. They are used for Internet browsing or for temporarily storing thumbnail images, for example.

Unprotected caches
Unprotected caches

Using the Cache Maintenance Functions

Smart Cache Deactivation

Smart deactivation of caches as a troubleshooting procedure is done using the following steps:

  1. Define for yourself what exact problem —possibly caused by a corrupt cache— you have to fix. Find a program where you can reproduce the exact problem and test whether only one user account or all user accounts on the computer are affected by it.

  2. Start TinkerTool System and open the item Caches > Unprotected Caches. Click the button Deactivate caches.

  3. TinkerTool System will ask you to quit all running applications. You can also have TinkerTool System do this automatically for you. The program will then perform a logout.

  4. Log in to the system again (with the same user account used in the previous steps). TinkerTool System will start automatically, giving you the option either to restore the caches or to discard them. Keep the application running.

  5. Test if the problem you defined during the first step has indeed be resolved by deactivation of the caches. If yes, you might accept the harmful effects of losing the cache data. In this case, click the button Discard previous caches. If no (the problem was not fixed and can still be reproduced as before), click the button Restore previous caches. In the latter case, TinkerTool System will again perform a log out, and all selected caches will be returned to their previous states. You won’t have negative side effects.

Additional Notes

TinkerTool System tries to guide you automatically through the smart deactivation process. A short summary of the instructions, and a large green arrow marker are used to visualize in which state the computer is in. Additional status messages and notes are given in bold face in the lower left corner of the window.

You should not postpone the decision to restore or discard the caches. Please make the decision as soon as possible.

Cache Cleaning (Protected Caches)

To clean a cache category completely, deleting all its data, perform the following steps:

  1. Open the item Protected Caches on the pane Caches.
  2. Select the cache sets which are causing the problem.
  3. Click the button Clean Caches.

Remember that cache cleaning should be avoided whenever possible. It will cause your system to run significantly more slowly for some time. Only use cache cleaning as a last resort, if you know for sure that the contents of a specific cache category are causing a technical problem.

Cleaning of protected caches
Cleaning of protected caches

Font Caches

macOS uses a specialized background service for font management, the font registration server. This background program is responsible for finding out which fonts are available on your system, keeping track of which user has activated which fonts, determining which of the more than 200,000 character glyphs supported by macOS are available in each of the fonts, managing the auto-activation of fonts, and performing many other font-related tasks.

Your computer may contain dozens of user accounts, several hundred fonts and millions of different characters. To bring them all together, macOS must maintain sophisticated background databases of glyphs, characters, fonts, and individual user settings. These databases consist of font caches. The operating system as a whole and each user account keep their own font caches.

In the event that the font registration server experiences a technical problem, the font caches can become corrupt. This will cause strange effects when working with fonts, e.g. delays after login, unexpected errors in the Font Book application, the spontaneous activation of fonts which should be inactive, or —in the worst case— a complete failure to display the correct characters for certain fonts which basically results in “garbled text.”

Font caches
Font caches

If you are experiencing such a problem, TinkerTool System can assist you in cleaning the font caches. The clean operation can either be performed for the current user account or for that user account and the whole operating system together.

When cleaning the caches of the font server, a logout will be necessary. macOS will automatically rebuild the font caches during the next login. This operation should complete within a few seconds or minutes. TinkerTool System automatically guides you through all necessary steps.

Perform the following steps to clean the font caches:

  1. Open the tab item Caches > Font Caches.
  2. Select the macOS font caches which should be cleaned.
  3. Click the button Clean font caches.
  4. Follow the instructions of the program.

Icon Caches

The Dock, the Finder and other parts of the operating system use icons to refer to the applications you have stored on your Mac. To quickly find the correct image for each application, the operating system collects information about the icons in central databases, known as the icon caches. The icon caches are usually robust; however, under certain circumstances they can become damaged. In such a case, the application icons may no longer be shown correctly, or some of them are substituted by the generic application icon, a gray square with rounded corners and construction lines.

Icon caches
Icon caches

If you are affected by such a problem, you can let TinkerTool System clear the various icon caches of your user account, causing the operating system to reacquire the necessary information and to rebuild the databases. If all of the user accounts on your computer are affected by application icon failure, you can clear the icon cache of the operating system as well. You’ll have to log out in order to complete the operation. If the icon caches of the operating system have been cleared, it will be necessary to restart the computer instead.

Perform the following steps to clean the icon caches:

  1. Open the tab item Caches > Icon Caches.
  2. Select the caches which should be cleaned.
  3. Click the button Clean icon caches.
  4. Follow the instructions of the program.

Kernel Driver Staging

Modern versions of macOS no longer permit that any vendor can install kernel extensions as part of their programs, even if the applications need administrator-authorized installations. The developers need expressed permission from Apple to develop such extensions which is verified by macOS with digital signatures. In addition, the installation of extensions must be explicitly acknowledged in a separate step, using a normally hidden user interface at System Preferences > Security & Privacy > General.

To put all kernel extensions provided by third-party applications under some kind of quarantine, before the user either permits or rejects their use, the respective files are collected in a staging area, using one or more special system folders. These folders are under System Integrity Protection and cannot be modified by anybody, no matter what permissions are used. This means if the user rejected the activation of a specific third-party driver, that driver’s files will remain in the staging area basically forever, because they cannot be removed. Folders used for staging are usually

but Apple may change this any time without notice.

Driver staging
Driver staging

TinkerTool System can help in this case, indicating to the operating system it should clear its staged kernel extension files. Perform the following steps to do this:

  1. Open the tab item Caches > Driver Staging.
  2. Use the radio buttons to indicate whether you like to remove all staged objects, regardless of their current role in the system (Clear all objects), or limit the removal to cases where the associated applications can no longer be located at their original installation places. (This makes sure that drivers which still wait for approval or denial in the middle of an unfinished installation job cannot be deleted inadvertently.)
  3. Click the button Clean staging area.

There are special drivers that have been developed by third parties, but are officially distributed by Apple as part of macOS. These kernel extensions are staged as well and may also be removed if you select the Clear all objects option. However, macOS may automatically restore those particular files later.