Start

The Pane Caches

Application-Related Caches

Introduction to caching

Nearly all applications running on Mac OS X 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. Examples for data stored in cache files are the last few Internet web pages an application has accessed, photos of your chat buddies you typically communicate with, or the data to quickly display the image of your Desktop background, already decompressed, scaled and optimized for the screen you are using.

Many applications are actually not “aware” that they are using cache files because Mac OS X may arrange the caches automatically for them when the programs are requesting data via the operating system, in cases where it is already known in advance that caching will speed up similar requests later. For example, each program supporting a “check for updates” feature will usually contact a specific web server to fetch some status information over the Internet. If this is done using standard system procedures, Mac OS X will automatically create a personal web cache for this application used to accelerate access to its update server. The application does not really “know” this, but it will receive the requested information via Mac OS X faster than usual.

Caches are responsible for very significant speed gains, but problems can arise if a cache becomes corrupt for some reason. In this situation the cache contains wrong, outdated or otherwise unusable information which can cause very strange effects in all applications using the affected cache. Under normal circumstances, Mac OS X or the affected applications should detect that there is something wrong with the cache, so they can throw away the cached information and automatically rebuild it when new data is requested. However, this detection might not always work in practice, especially after a network connection was interrupted, after a program has crashed unexpectedly, or when your computer had problems with its clock, so it could no longer track correctly which information is up-to-date and which is outdated.

Due to the hidden nature of caches, problems resulting from corrupt cache contents are very difficult to find. The user only sees that “sometimes something is very wrong with some applications”. If you experience a strange problem with an application, this could be the result of a corrupt cache, but you cannot be sure. A simple but harsh way to find out is to remove all cache files, then to restart the affected programs, and checking whether this has successfully fixed the problem. If yes, this will be okay, but if no, you will have lost all valuable information which had been kept in the caches. It may take hours, days, or weeks until your system has recovered from this situation by rebuilding the caches with recomputed and refetched information. During this recovery period, the computer will run significantly slower than usual.

Although cache cleaning can be an effective maintenance step to resolve certain problems, it has harmful side effects as we have seen. For this reason, TinkerTool System introduces a much more intelligent approach: You can temporarily deactivate caches and take this step back when you see that cache removal had no positive effect. This new technique effectively avoids the problem that cache cleaning often makes the original problem even worse.

Application-related caches
Application-related caches

TinkerTool System offers this type of smart cache deactivation for all application-related cache files. The caches are divided into the following subcategories which can be processed separately:

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

Some Internet sites recommend to use cache cleaning as a regular or even scheduled maintenance step. As we have outlined in this section, this is one of the worst advices you can get. Cache cleaning always has the negative side effect of making your computer slower than normal. It should only be used as a last resort when troubleshooting a well-defined problem, knowing exactly that the positive effects will indeed outweigh the negative effects of losing cache data.

Overview

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 like to fix. Find a program where you can reproduce this exact problem and test if only one user account or all user accounts of the computer are affected by it.

  2. Start TinkerTool System and open the item Caches > Application-Related Caches. Select the cache sets of the user, computer, or operating system which might be causing the problem. Then press the button Deactivate selected caches.

  3. TinkerTool System will ask you to quit all running applications. You can also have TinkerTool System do this automatically for you. Depending on the cache sets you have selected, the program will then perform a logout or restart.

  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.

  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, press the button Discard previous caches. If no (the problem was not fixed and can still be reproduced as before), press the button Restore previous caches. In the latter case, TinkerTool System will again perform a log out or restart, respectively, 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 avoid to postpone the decision to either restore or discard the caches for too long. Please make the decision as fast as possible.

Font Caches

Mac OS X uses a specialized background service for font management, the Apple Type Services for Fonts Server, or short ATSServer. This background program is responsible for finding out which fonts are available on your system, it keeps track which user has activated which fonts, which of the more than 200,000 supported character glyphs supported by Mac OS X are available in which of the fonts, it manages auto-activation of fonts and performs 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, sophisticated databases of glyphs, characters, fonts, and individual user settings have to be maintained. This background database is made up of the so-called font caches. The operating system as a whole and each user account keep their own font caches.

In case the ATSServer experiences a technical problem, the contents of 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 the account and the whole operating system together. TinkerTool System can additionally clean personal font caches used by applications of the Microsoft® Office Suite. The products Office:mac v. X, Office:mac 2004, Office:mac 2008, and Office:mac 2011 are supported.

When cleaning Office font caches, it is necessary to quit all Office applications. When cleaning the caches of the ATSServer, a logout will be necessary. Mac OS X will automatically rebuild the font caches during the next login. This operation should complete within a few seconds or minutes. The Office font caches will be rebuilt the next time an Office application is started. 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 Mac OS X and MS-Office font caches which should be cleaned.
  3. Press the button Clean font caches.
  4. Follow the instructions of the program.

Startup Driver Cache

Mac OS X can be operated on a large number of different Macintosh systems. Because each computer model contains different devices, like network cards, graphics chips, or disk controllers, the part of the operating system that controls these devices is structured into small modules, called drivers. Each type of hardware device corresponds with a specific Mac OS X driver that controls this device, or more exact, all devices of this kind. Mac OS X only needs to load the drivers which correspond with the devices found inside a particular computer. This way the OS does not need to load all the software components used to control all Macintosh systems ever built. Drivers are organized as kernel extensions, a more general term used for the small software modules that add specific functionality to the inner core of the operating system.

Mac OS X keeps several internal caches used to optimize the startup phase of the operating system. Among other data, these caches hold the information which kernel extensions are needed to operate your particular computer, and which not. This way, the system knows in advance which drivers it needs and does not need to perform a complete search which drivers and which devices are available, and how these two sets must be matched with each other. The use of caches significantly shortens the startup process.

Startup driver cache
Startup driver cache

Under specific circumstances, the caches could become corrupt or might contain outdated information. This could happen for example if a third-party kernel extension does not work or was not installed correctly, or if you added or removed devices from your computer and due to some technical problem, Mac OS X lost track which driver must be activated or deactivated.

TinkerTool System can assist you in cleaning these startup driver caches. Mac OS X will automatically rebuild the caches after some seconds. No restart is required. To clean these caches, perform the following steps:

  1. Open the tab item Caches > Startup Driver Cache.
  2. Press the button Clean startup cache.