How to improve OS X app performance
Over time it is expected for a system to start running a little slower than it did when the operating system was freshly installed. This can be from having more programs installed and running at once, to filling and using more hard drive space, to various settings that may take time to load and interact with each other. For instance, with use the files on the hard drive will get moved around and blocks of data will be less contiguous than they were with a fresh OS installation. While the small performance hit over time will not be enough to affect most users, in some situations you might want to keep the computer running at its optimum speed. Here are some tips for optimizing the system performance in various areas that can affect the speed of the system.
Over time, you can expect a system to start running a little slower than it did when the operating system was fresh. This can be from having more programs installed and running at once, to filling and using more hard drive space, and various settings that may take time to load and interact with each other. For instance, with use the files on the hard drive will get moved around and blocks of data will be less contiguous than they were with a fresh OS installation, leading to slightly increased file access times. While the small performance hits caused by usage over time will not be enough to affect most users, in some situations, you might want to keep the computer running at its optimum speed. Here are some tips for optimizing the system performance in various areas that can affect the speed of the system.
Keep running processes to a minimum
Even with modern eight-core Macs with ample RAM, you may still get hiccups in performance when many tasks are open at once. To keep things running at top speed on any system (old or new) be sure to minimize the number of processes running at the same time. With regards to open applications, go through your open applications and quit the ones you are not using. For Windows switchers, most of the time just closing the active window is not enough to quit the application and you will need to use the Command-Q hot key, choose "Quit" from the respective application menu, or right-click the application in the Dock for the option to quit it there.
Sometimes it is not a matter of performance, but that other processes will be waiting for an unused system service to finish a task before they can continue running. This can be seen as a small hang or two with the spinning color wheel cursor, so be sure to quit unused applications and turn off unused system services/features if you do not need them. These may include menu add-ons, but also system services like file sharing. If you do not use file sharing on a daily or even weekly basis, then disable it while you are not using it. Go through the system preferences and disable other features you are not using.
Disable unused fonts
Many applications will load each font that is installed on the system, and if you use a variety of graphics tools you can sometimes have thousands of fonts. While having many fonts lets you \properly view document contents, many programs like Illustrator and other Adobe products may heavily interact with every installed font when loading and running, which can use more RAM as well as show small performance hits. Additionally, some system services like printing will also interact with fonts.
Fonts are automatically enabled when installed in OS X--when either manually installed or if they are included with a third-party program--so over time, the active font library can get quite large and cause the dependent applications to load and run slower.
If you have a number of fonts that are not needed, disable them using Font Book or another font managing application. The easiest way to do this is to spend time with Font Book and create collections of fonts that are used for different tasks. Font Book already has some libraries for Web, fixed-width, PDF, and various languages. Right-click these and choose "enable" or "disable" based on the task. One tip is to create a new library with all fonts in it and use that to disable everything else, and then use other libraries to just enable the subset of fonts you require for a specific purpose. For the most part, the default system fonts like Helvetica, Georgia, Geneva, Courier, and Times will all be enough to view most content.
Optimize your RAM
One major source of system slowdowns can come from running out of available RAM. When this happens, the system will use the very slow hard disk as a substitute for the fast system memory, and it will "page out" the RAM contents to the virtual memory space on the hard disk so the majority of the active processes are in RAM. If you have enough memory to run the active processes, then the paging process will only cause a small delay; however, if you do not have enough RAM, then the whole system can bog down while the computer tries to manage active processes using the hard disk. A hard drive's throughput is around 25MBps to 50MBps sustained transfer rates, and 100MB to 200MBps burst rates. In contrast, RAM's throughput is on the order of gigabytes per second (about 8GB per second peak transfer rate for the DDR2-1,066MHz memory used in modern Macs). Because of this difference, it is preferable to keep as many of your active system processes in RAM as possible.
Open Activity Monitor and list all items by "Real Memory" (or "RSIZE") to see which programs are using the most memory. Compare the current usage with the "System Memory" graph below the process list, and concentrate on the green wedge of the pie. If the available memory is low, then look through the list and quit programs that are using the most memory (these will be started by the current username). System processes will be started by "root" or a username that begins with an underscore. If any of these processes are taking up large amounts of memory, you can disable the corresponding feature in the OS X system preferences, or in rare cases you can quit them using Activity Monitor. For the most part the system's launchd process will relaunch any required processes that have been quit, but only do this if you know exactly what you are doing. A better alternative would be to just restart the computer.
Sometimes the "Kernel Task" process will take up a lot of memory, especially if you are running a MacBook system with integrated graphics. The integrated graphics will use the system memory, which will be reflected by an increased amount of memory in the Kernel Task process.
If you are regularly running low on memory and need to upgrade, while Modern Macs may accept random assortments of memory module sizes, for best performance be sure to installing matching modules that are sold and installed in pairs or triples (more applicable to MacBook, MacBook Pro, and Mac Pro machines). Here are some resources for buying and installing RAM upgrades in Apple's machines:
Keep space free on your hard drive
If you have low hard drive space, the system may not have adequate virtual memory space available for paging out memory. Paging happens all the time to keep memory optimized for performance, and if the hard drive space is low then the efficiency of this process will be reduced. If you are also low on available RAM for your active processes, then your system may go so slow that it will seem to fully lock up. When it comes to hard drive space, the more the better, though our recommendation is to keep at least 10% free as a rule of thumb. This will help prevent drive fragmentation that can lead to degraded virtual memory performance.
Turn off energy saving features
Apple's systems come with a few energy saving features enabled, which help cut down the power consumption used by them, but they also can result in slowdowns and hiccups in performance. Go to the "Energy Saver" system preferences and, if available, enable faster CPU speeds and "better performance" for the GPU settings. If you have a newer MacBook Pro with dual graphics processors, your only option is to run on low performance, or have the system automatically detect the GPU. You might consider installing "gfxCardStatus," which lets you to select which GPU to use.
Lastly, turn off the option to spin down the hard drive, and you will not see the sometimes apparent pause while the system gets the drives up to speed. Keep in mind that spinning the drives down may increase the life of the drive, but it will also lead to small hiccups in performance while the system spins them back up.
Unmount unneeded volumes
If you have optical media in the DVD drive, remove it if you are not using it. Like hard drives, the system will spin down the optical drive to reduce noise and save power; however, unlike hard drives the optical drive can take a number of seconds longer to spin back up, which can result in applications and the system temporarily hanging. This can especially happen when you open or save documents in a program.
In addition to optical media, unmount unused network volumes. If the networked machine is unresponsive then the Finder and other applications may lag while the system tries to communicate with the networked machine. Generally a disconnect will fix the issue, but sometimes the hang will not allow you to do this.
Lastly, if you are finding the system to be much slower than normal, you might try running a general maintenance routine on it to clear out caches and other temporary items, as well as check the software configuration for permissions errors and other problems that might be contributing to the slow down. We recently wrote afor OS X that should cover most of these temporary items and settings on the system, so run through those steps to hopefully speed things back up.