The amount of main memory (RAM, Random Access Memory) installed in a computer can be very important for the system’s achieved computing performance. If not enough memory is available, the speed of the computer will significantly decrease. However if too much memory is installed, capacities that are not really needed will be left unexploited. Unnecessary costs will be the result.
Which memory size is the optimum will depend on how you use your computer, in particular, which applications you are using, which data is processed by the applications, and to which degree programs are being used simultaneously, causing them to be held in memory at the same time. macOS keeps very detailed internal statistics how the amount of available memory is used by each of the programs. TinkerTool System can evaluate these statistics to assess whether the size of RAM installed in your computer is appropriate for your typical work. This will give you an important aid to decision-making if you should purchase more RAM for your computer, and whether additional memory will actually enhance performance.
Like in any up-to-date operating system, no running program has the permission to access main memory directly. This is left to the inner core (kernel) of the operating system only. For each running program (also known as process), the hardware simulates a separate memory space. Each process runs in its own, completely separated area which appears to be exclusively owned by it. The memory spaces of other processes are completely invisible for the process in focus. With this approach, a process is neither capable of spying out the data of others, nor can it intentionally or unintentionally overwrite data in the spaces of other processes. This is one of the most important techniques which ensure that an operating system is stable and safe. Programs are strictly shielded against each other. Even “bad” applications cannot crash other processes or the operating system.
This technique is called virtual memory. It is essentially managed by a hardware component inside the processor, called Memory Management Unit or MMU. For each access to (virtual) memory, the MMU decides which memory should be actually accessed internally: Virtual memory is either being mapped to real main memory, or to special files on the system disk, the so-called swap space. Mapping virtual memory to real memory is done in blocks, organizational units that are called pages. With macOS, each page always has a size of 4 KiB.
The system tries to map virtual memory to real main memory as long as possible. However, if too many processes are running simultaneously, or too much data is being processed at the same time, the amount of main memory available will no longer suffice at one point to host all pages of needed virtual memory. In this case, a page from main memory will be transferred to disk to make room. To do this, the system selects a memory page which is very likely not required by any process in the near future. By transferring a page of memory contents to disk, a block of memory in RAM has now become free and can be used by another process. When a page on disk is later being accessed by the process associated with it, it has to be transferred back into main memory. Another page will now be selected to be thrown out, and the two pages swap places.
Because main memory and hard drives work with very different speeds, access to paged-out memory can be 10,000 to 100,000 times slower than accessing memory in RAM. For this reason, the perceived speed of a computer can decrease drastically if too many page-outs take place, i.e. there is not enough main memory to hold as many of the used memory pages in the quickly accessible area as necessary. The theoretically best usage of memory has been reached when main memory is being used completely (almost no memory is free), and no swap space is in use. In this case, all data will be in the fast RAM and no part of the RAM is left unexploited.
In addition to swapping out memory pages to the system’s disk drive, the latest versions of macOS are capable of using another location to hold pages which no longer fit into standard memory: Because a hard drive is so significantly slower than RAM, the operating system can decide to sacrifice a small part of its RAM and use this part to store swapped-out pages after using data compression on their contents. This is called compressed memory. Instead of writing a memory page to disk, the system compresses the page and writes it to a specific RAM area reserved for that purpose. Reducing the amount of memory available to applications even further by reserving parts of it for memory compression, is a critical step of course. The system has to consider very carefully whether the gain of compressing/decompressing data in RAM instead of reading/writing to swap space outweighs the effect of losing some amount of available RAM.
As already mentioned, assessing the amount of memory is only possible when relating it to the typical usage of memory during the daily work with your computer. Whether you have enough memory will depend on what applications you are using and how you are using them. For this reason, a meaningful evaluation of memory size will be possible only if the operating system had the chance to monitor typical usage of memory within a certain time interval. Perform the following steps to let TinkerTool System evaluate the memory usage statistics:
The current statistical readings will now appear in the upper box, the evaluation in the lower box Results. An evaluation is possible only after the system has been switched on for at least 2 hours.
The time of operation of macOS in which the statistical data could be collected is shown in the last line of the upper box. You have to decide for yourself if the computer has been used in a “typical” way in this period. In case the usage was more untypical, e.g. because you have used more applications simultaneously than normal, or because you have worked on an unusual “gigantic” document that has consumed an extraordinary amount of memory, the results will not be meaningful.
In case you decide that usage of the computer has not been typical enough to allow a meaningful assessment, perform the following steps:
The upper box lists selected data from the memory statistics maintained by macOS:
The box Results shows the current evaluation based on the statistics shown in the upper box. The assessment contains a textual explanation and a short overall result like “good” which is additionally represented by the image of a traffic light. The program differentiates between the following results:
The Finder application typically used in macOS to work with files and folders is known to be affected by specific flaws which depend on the version you are using. In particular, the issues affecting file copy operations are critical, because you may lose data when you rely on the assumption that a copied file will always be absolutely identical to its original. This is especially true when you consider that the Finder also plays a role in the operation of Time Machine, the backup solution of macOS.
TinkerTool System can verify if the Finder is capable of performing the following operations correctly. They are known not to work reliably when specific versions of the Finder and specific file system types are used that are source and destination of the copy operation:
File system type means the format of a disk or disk partition, or the transfer protocol used when accessing a file server in the network, respectively. The Finder behaves differently when copying between two HFS hard drives, for example, or between an HFS disk and a memory stick formatted using the FAT standard of Windows.
You can let TinkerTool System check two given disks against your version of the Finder. TinkerTool System can control the Finder remotely to test whether the operation runs as expected or not. To perform the check, you only have to specify two folders between which test files should be copied.
To run the tests, TinkerTool System needs less than 200 kB on both disks. All files written during the check will be erased automatically after the tests have been completed.
When working with file system types, only the file system families play a role for the behavior of the Finder, not specific sub-types. Messages shown by TinkerTool System during this check refer to the family only. For example, the file systems “HFS” and “HFS+ journaled, case-sensitive, encrypted” are both represented by the family “HFS”.
Perform the following steps to test the Finder:
The button can only be pressed if the aforementioned conditions are met for the two folders. The pane will show you in advance whether the test can be performed, or if there is a possible problem with the selection of folders.
TinkerTool System automatically tests the copy operations in both directions, i.e. copying from folder 1 to 2, and from 2 to 1. The order of the two folders doesn’t play any role for this reason. Because TinkerTool System is controlling the Finder remotely, you might hear the sound effects the Finder uses for copy operations during the test.
A test that succeeded without problems will be displayed by a check mark with green background, a test which has failed is shown by a cross marked red.
A failure of test 1 indicates that the Finder is not capable of copying Extended Attributes for files and folders if they are not stored natively, i.e. not on a disk using the format “HFS+”, or on an AppleShare file server. This failure may not be relevant to you. Emulated Extended Attributes are mainly used when you operate the system as file server, sharing files with older SMB or NFS network protocols. If you don’t use your computer in that way, it will be very likely that your installation of macOS has never created files with such attributes.
A failure of test 2 indicates that the Finder cannot copy symbolic links which have Extended Attributes attached. This failure may also not be relevant to you, but such situations are more likely than the ones of test 1. For example, you may see such objects as part of applications which have older software library frameworks embedded. These frameworks could store symbolic links which are additionally marked as legacy alias via an Extended Finder Attribute. In practice, you will notice such a problem in situations where the Finder unexpectedly cancels a running copy operation with the message that an object could not be found (error –36) although the object is there.
Please note that TinkerTool System is only testing whether the Finder is working as expected. The application cannot repair any defects it might have detected in the Finder.
If one of the tests is failing when you had selected two HFS+ disks for the copy operation, you unfortunately have to expect that Time Machine also won’t work correctly. Because the Finder is an indirect part of some copy operations performed by Time Machine, backing up or restoring data can also lead to corruption of copied files.
If your computer contains one or more optical disk drives with writing capabilities, you can use TinkerTool System to retrieve detail information about inserted disk media, like CDs, DVDs, or Blu-Ray Discs. This feature is helpful to find out the actual manufacturer of a storage medium, or to get information about the recording format of a disk. Depending on the type of medium and its storage format, the amount of data you can retrieve will be very different. With appropriate media, TinkerTool System may include the following detail information in the results:
Not only the type of storage media, but also the question if data has already been recorded on the disk will determine which information items can be retrieved and which won’t.
To inspect optical disk media, perform the following steps:
The analysis will be shown in the box Results after a few seconds.
Note the difference between the items Media Type and Media Behavior: If you have recorded digital video on a disk of type DVD+R and have correctly finalized this recording session, the physical type of medium will be DVD+R, but the disk will finally behave like a DVD-ROM.
In case you are not using the typical “Superdrives” by Apple, the application will only support optical drives which can both read and write disks.
Apple lets you decide whether you like to use Trim commands with all solid state drives (SSD) attached to your system via a SATA bus and a bus interface based on the AHCI standard (Intel Advanced Host Controller Interface).
In a default configuration, OS X won’t send Trim commands to all SSDs, but only to flash storage drives provided by Apple, because in this case the operating system is safe to assume that the Trim commands are implemented correctly by the drive, so the commands won’t lead to data loss or data corruption.
Trim commands are part of the ATA8-ACS2 industry standard which specifies how computers should communicate with modern disk drives. With the advent of storage devices based on flash memory technology, the introduction of the Trim command solved a technical problem solid state drives have been suffering from: On a conventional, magnetic disk drive, operating systems could handle the deletion of files in a simple, quick operation. When a file should be deleted, it is completely sufficient to erase its entry from its folder and to update the information in the file system that the data blocks, which were in use by that file, should be considered free, so they will be automatically reused for new files later. When the disk drive writes new data to such a reused block, it can just do so, overwriting the block’s former contents.
For technical reasons, this is not as easy for flash memory cells. Flash memory cannot be simply overwritten with new data. It is necessary to explicitly clear the flash memory first, which takes a significant time, and then to write the new contents to the storage cells. This means a write operation on a flash storage device will be significantly slower if the drive does not happen to have empty storage blocks in reserve that could be used for the incoming data. Empty means either that this is a brand new, never used storage block, or that this is a used block which has been prepared for a new write operation by an elaborate clearing procedure. If large amounts of data have been written to an SSD in the past, the likelihood that either unused or cleared blocks are available will become lower. The speed of write operations decreases as more data is written.
To resolve this problem, the drive must try to clear unused blocks as early as possible. This way, the chance to have empty blocks in reserve, available immediately for incoming write operations, is much higher. But how should the drive “learn” which blocks are no longer in use? On magnetic disks, the drive did not need to “know” that. To indicate to a storage device that a particular block is considered free by the operating system, so that this block can be prepared for later reuse, the Trim command was introduced. So in addition to just updating its own file system information that show which blocks are free, the operating system can now inform the disk drive, too, which blocks are no longer in use. When an SSD receives a Trim command for a specific storage block, it will place that block on its to-do list for cleaning. When the drive has time for cleanup operations, it will then clear the corresponding flash cells. The likelihood that incoming write commands will find immediately usable free blocks increases, so write operations should be executed as fast as possible.
Very old solid state disks (from a time before Trim was standardized) or SSDs that have internal design flaws may not handle Trim commands correctly. This is dangerous, because it could lead to situations were the drive clears a wrong block which is still in use by the operating system. Typically, this would result in 512 bytes of zeros within a file that should contain other data. To avoid this danger, macOS does not send Trim commands to SSD models it doesn’t know. Only SSD models provided by Apple (usually advertised as “flash storage”) receive Trim commands by default. This limitation can be removed with macOS.
Apple provides the program trimforce to reconfigure the operating system so that it will send Trim commands to all solid state drives connected via standard SATA interfaces of a Mac, not only to Apple’s own flash drives. The program must be executed on the UNIX command line, and System Integrity Protection ensures that only Apple’s program can be used to either enable or disable this setting. We won’t describe its usage here. For more information, please see Apple’s documentation.
TinkerTool System can check the actual mode of operation currently chosen by macOS to communicate with solid state drives. Open the tab item SSDs on the pane Diagnostics to do that.
The table on this tab item shows you all relevant SSDs currently attached to your Mac, and also lists whether Trim commands are sent by macOS. You may like to verify the status of all SSDs before and after reconfiguring the operating system with trimforce (after the computer was restarted). The status line below the table indicates whether the trimforce setting is currently enabled in the operating system or not.
Many Macs need to be cooled constantly, which is done by one or more blowers which pull fresh air into the computer and push out hot air. Most of these fans are continuously monitored and are controlled by an independent auxiliary computer built into your Mac, the System Management Controller (SMC). Fans are mechanical components which are constantly in use when the computer is active, so they are parts subject to natural wear and tear. If you hear unusual noise from your Mac and you suspect that one of its fans is no longer working correctly, e.g. as cause of a bearing damage, it will be helpful to quickly test all fans yourself without having to open the Mac.
TinkerTool System can do so by temporarily forcing a fan to accelerate to its specified maximum and showing you the current rotational speed values. By listening to the fan’s response, you can easily identify its location and determine whether it appears to behave normally.
To run a test on or more fans, perform the following steps:
The current speed values are shown in table and are updated continuously. If you select a single line in the table, technical details about the fan and its approximate location within the Mac’s case are shown below the table.
If you are using a third-party application to manipulate the built-in standard fan control of the Mac, TinkerTool System will not interfere with that application and an error message is shown in the pane. To run fan tests you will need to deactivate the other application first, then restart TinkerTool System.
Time Machine usually does not need any maintenance as long as you don’t replace the source or destination disks (for more information, please also see the chapter on Time Machine). You just define which disk volumes should be included in the backup, what destination drive should be used, and switch Time Machine on. However, there can be certain cases where Time Machine may not run as expected, for example if there is a file system problem on one of the source volumes, or if there was a power failure during a Time Machine run. TinkerTool System can help you to detect possible problems with backups by controlling one of the diagnostic features of Time Machine with a few simple clicks: You can select two different backup sets and compare all their files, hereby showing the “true”, incremental contents of a Time Machine backup, not the simulated view in the Finder or the Time Machine user interface, which always shows the entire effective backup set at a selected point in time. If some part of Time Machine is failing, this will mean that although specific files have been modified, they have not been included in the next incremental backup copy corresponding to the Time Machine snapshot taken immediately after the modification time. For typical Time Machine problems, the updates for an entire folder would be missing, which can be detected easily when comparing the two backups preceding and following the modification of files in that folder.
As a side effect, you can also use this feature to determine which files have changed on your computer at at a particular point in time, or to assess how many files with what storage size are typically part of your backups every hour.
In an alternative mode of operation, it is also possible to compare the current data on your computer (more exact, all files which are selected to be handled by Time Machine) with a specific backup session. This feature is helpful to detect implementation errors in Time Machine. You can immediately see whether the data that should be copied has actually been copied. Note that this type of compare operation takes a significant amount of time, because all files on your computer have to be checked.
To start the comparison of two Time Machine backups, perform the following steps:
Depending on the size of your backup and the amount of data differing between the two selected backup sets, the compare operation may need a few seconds or several minutes to complete. The results will be shown in the table.
If you move the mouse cursor over an entry in the column Changes, TinkerTool System will display a short textual explanation, so you don’t need to learn the abbreviations.
TinkerTool System can rescan the Time Machine disks connected to your computer when you changed the configuration or replaced the destination disk. To do so, press the button Rescan.
In case Time Machine is using a network volume for its backups, the connection to the remote drive will still be held open after the compare operation has completed and even when you quit TinkerTool System. This gives you the chance to quickly start a new scan operation later, but it might not be intended, for example when you have a mobile computer and like to leave the network. To avoid the permanent connection, press the button Eject network disk after you completed your work with Time Machine diagnostics.