If you run into any problem with your Mac, there is a general set of steps and checks you can take to troubleshoot it. While these are not guaranteed to get you an answer or necessarily fix your system, they should at least get you closer to a solution.
First, generally characterize the problem by asking yourself what is happening. Notice any errors and behaviors, and other actions you are taking that lead up to the problem at hand. For example, if the system hangs, does this occur for about 30 seconds every time you boot, or does it happen at regular intervals, or perhaps is it random in nature?
In addition, ask yourself how long the problem has been happening, and whether or not it came about after any changes you made to the system, including software installs, upgrades, and changes to system settings.
With these ideas in mind, you can perform a number of tests to determine if the problem is hardware-related, or software-related, and in doing so hopefully narrow down the culprit.
- Remove peripherals
First unplug any peripherals you have, including printers, hard drives, extra displays, and scanners. Run your system with only the keyboard and mouse and with just one monitor attached, and see if this makes a difference. If so, then you can try swapping peripherals to different ports, or change the order in which they are attached to troubleshoot daisy-chaining.
- Update peripheral firmware and drivers
Even if troubleshooting peripherals by unplugging or re-ordering them does not make a difference, still consider checking for and applying both firmware and drive software updates to the device. Check with your devices' manufacturers to see if there are firmware updates available, and install them. This is especially true if you have recently upgraded or updated your system software.
- Run Apple Hardware Tests
Apple provides a test suite for all of its Mac systems, which will run a test on the RAM as well as check a number of different hardware sensors to ensure the system is running within voltage, amperage, and temperature tolerances. To access the tests, reboot your system with the D key held, or Option-D to load the tests form the Internet, and from there you can run and interpret the tests.
- Troubleshoot power sources
Sometimes a system shutting down unexpectedly can be from faulty power adapters, so be sure you check the cabling and wall circuit you have yours attached to, and if troubleshooting the power adapter shows any problems, then consider replacing it.
- Test your Wi-Fi signal strength
If your problem is with Internet connectivity and you are experiencing drop-outs, then you might be experiencing heavy noise or low signal in your Wi-Fi connection. Troubleshooting this will take time but can be done methodically by going to different locations and noting your connection's signal-to-noise ratio. By doing this, you can map out where noise may be coming from around your system, and adjust your environment accordingly.
- Reset the PRAM and SMC
The only real hardware-based fixes you can do for your Mac, at least without opening it or getting it serviced, are to reset the Parameter RAM (PRAM) and system management controller (SMC). The PRAM can be reset by booting with the Option-Command-P-R keys held down, but resetting your SMC will require you to hold down a special combination of keys specific to your Mac's model.
- Boot to Safe Mode
If your Mac is having trouble with some third-party software, then you can boot into Safe Mode to see if doing so avoids the problem. Safe boot will load the system to a minimal boot environment, avoiding any nonessential software that potentially could be affecting the system. If the problem goes away in Safe Mode, then it is likely rooted in the main operating system as opposed to a configuration in your user account.
- New user account
Try creating a new user account, or enable and log into the Guest account in the system. This will run all your system's same software, services, and installed programs under fresh user settings, and thereby help determine if the problem is account-based or rooted in the system. If the problem persists in your new or Guest user account, then this suggests it is system-wide and not an issue with your home folder. Therefore, performing steps like preference file deletion likely will not help.
- Remove application preferences
If a specific application is giving you troubles and these problems are happening in just one account but not another, then you can try the classic approach to remove preferences for the program. Removing preferences can be done manually by going to the hidden Library > Preferences folder in your account and removing the associated .plist file for your program (found based on the developer name and program title, such as com.apple.TextEdit for Apple's TextEdit program), but can also be done using the OS X Terminal.
- Remove temporary and cache files
Both OS X and applications running on it create temporary files and caches that, if corrupted, may lead to problems including hangs or the inability to perform specific tasks, and which can sometimes lead to crashes. If a specific program is causing problems, then you can try clearing the caches for it, or for the entire system, to see if this helps. While there are ways to do this manually, you can use the most up-to-date version of a reputable system maintenance tool like OnyX to access and remove cache files. Keep in mind these tools may be specific for a given version of OS X, but for the most part they will perform tasks like cache deletion just fine. After removing caches, restart your system to see if it's made a positive effect.
- Check Activity Monitor
Open Activity Monitor and sort the various process lists by the %CPU, Memory, or Energy columns, to see if any program is regularly using up system resources. If one is persistently at the top of the list, then consider investigating it to see whether the activity seen is normal.
- Check filesystem formatting
Use Disk Utility to both check the boot drive for errors, and to fix its permissions. To do this thoroughly, you will need to boot to the OS X Recovery partition and then use Disk Utility to verify and repair the hard drive. You can also run a permissions fix on the drive, to ensure system files are properly accessible. In addition to a full system permissions fix, you can reset the permissions on home folders in your user account, which will ensure programs, services, and anything else that runs under your account has proper access to the resources it needs.
- Check the system console
The system console in OS X offers central access to system logs, and as such is a quick way to track down errors. While system and application logs can be somewhat cryptic, you can use some techniques to isolate messages and identify common errors that accompany the problematic behaviors you are experiencing. While console output can be difficult to interpret, if you see a repeating pattern then you can communicate this to technicians who might be better-equipped to help.
- Reinstall OS X
While the idea of reinstalling an OS seems pretty invasive, Apple has made it almost seamless, where doing so will preserve your installed applications, settings, files, and other data you use. Performing a reinstall of OS X simply requires you boot into Recovery mode, and then select the option to reinstall OS X. This will simply replace all the core system files with fresh ones, which sometimes can be a quick fix for a damaged OS installation.
Sometimes you can search for a "Combo" updater for your version of OS X from Apple's Support Downloads Web site, but while this will replace system files, it will do so only for the subset of those changed by the update. To ensure all files are replaced, perform a full reinstall followed by installing the relevant combo updater, or simply run Software Update in the Apple menu.
Even if these steps do not fix the problem, you can make a note of whether or not they help isolate it. If the problem stops occurring, or shows specific behavior when you perform the steps above, then you can convey these to a technician or online help resource to get better insight on what to do next.
Questions? Comments? Have a fix? Be sure to check us out on Twitter.