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. If too much memory is installed, however, capacity that is not really needed will be unused. Unnecessary costs will be the result.
The optimal amount of RAM will depend on how you use your computer, and, in particular,
macOS keeps detailed internal statistics about the amount of memory used by each running program. TinkerTool System can evaluate these statistics to assess whether the total amount of RAM installed in your computer is appropriate for your typical work. This evaluation will allow you to assess whether additional memory will actually enhance performance.
As is the case with all modern operating systems, macOS does not allow any running program to access main memory directly. This access is granted only to the inner core (kernel) of the operating system. For each running program (or process), the hardware simulates a separate memory space. Each process runs in its own, completely separate space, which appears to be exclusively owned by it. For any given process, the only memory it can “see” is its own; other processes’ spaces are completely invisible. That process is incapable of spying on the data space of other processes, and it cannot intentionally or unintentionally write data in their spaces. This is one of the most important methods of ensuring that an operating system is stable and safe. Programs are strictly shielded against each other. Even “rogue” applications cannot crash other processes or the operating system.
This method is called virtual memory. Virtual memory 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, known as 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 real main memory is available. However, if too many processes are running simultaneously, or too much data is being processed, the amount of main memory available will no longer suffice 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 constantly evaluates how discrete processes are using their memory and selects a memory page in RAM which is deemed least likely to be required by its process in the immediate future. Transferring that page’s contents to disk frees up the page for use by another process. This transfer is called a “page out” or “swap out.” Later on, if that page, now on disk and not in RAM, is accessed by its associated process, it has to be swapped back into main memory. The system will now select another page to be swapped out, and the two pages trade places.
Because accessing main memory is much faster than accessing hard drives, access to swapped 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 swap events 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. (With up-to-date computers that use flash-based storage instead of magnetic disks, the speed difference has decreased, but it is still very significant.) Theoretically, the best usage of memory has been attained 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 that RAM is left unused.
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 available RAM. Because a hard drive is so significantly slower than RAM, the operating system can decide to sacrifice a small part of the RAM, which would otherwise be available for applications, and use this part to store swapped-out pages after compressing their contents. This is called compressed memory. Instead of swapping a memory page to disk, the system compresses the page and writes it to a specific RAM area reserved for fast retrieval. This process, of the system’s reducing the amount of memory available to applications for its own memory compression area 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 that RAM for applications’ use.
As mentioned above, assessing the optimal use 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 period in which macOS has collected statistical data is shown in the last line of the upper box. You have to decide whether the computer has been used under a “typical” workload during this period. If the usage has been more untypical, e.g. because you have had more applications open simultaneously than normal, or because you have worked on an unusually large document (or data set) which has consumed an extraordinary amount of memory, the results will not be meaningful.
If you decide that the usage of the computer has not been typical enough to allow for 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 macOS Finder is known to be affected by specific bugs, depending on which version you are using. The issues affecting Finder file copy operations between disk volumes are especially problematic. You cannot assume that a copied file will always be identical to the original. Under certain circumstances, data loss can occur. 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:
These operations are known to be unreliable when specific versions of the Finder and specific file system types are used as the 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 Windows FAT standard.
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, not specific sub-types, affect the behavior of the Finder. 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.”
TinkerTool System needs approval for Finder automation before you can use this feature. For more information, please see the last section in chapter Basic Operations.
Perform the following steps to test the Finder:
The button can only be clicked if the previously specified conditions are met for the two folders. The pane will show you in advance whether the test can be performed, or if a problem exists 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 does not matter. Because TinkerTool System is controlling the Finder remotely, you might hear the sound effects the Finder uses for copy operations during the test.
A successful test will be marked by a check mark with green background. A test that has failed is marked 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 formats “HFS+,” or “APFS”, 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 a file server, sharing files with older SMB or NFS network protocols. If you don’t use your computer that way, it’s 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.
Unfortunately, if one of the tests fails when you select two HFS+ disks for the copy operation, you have to expect that will also not 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 write capabilities, you can use TinkerTool System to retrieve detailed information about inserted disk media, such as CDs, DVDs, or Blu-Ray Discs. This feature can help determine the actual manufacturer of a storage medium, or retrieve 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:
Whether specific items can be retrieved or not depends not only on the type of storage media, but whether data has already been recorded on the disk.
To inspect optical disk media, perform the following steps:
The analysis will be shown in the Results box 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 ultimately behave like a DVD-ROM.
If you are not using the typical Apple “Superdrives”, the application will only support optical drives that can both read and write disks.
Before discussing solid state drives (SSD), also called “flash storage” by Apple for previous generations of Macintosh systems, we should first review how conventional magnetic hard disk drives handle file deletion. On hard disks, file deletion is a simple, quick operation. The operating system erases the file’s entry from its folder and informs the file system that the disk blocks used by the file are now free and available for reuse. The old data remains in the blocks until the disk drive overwrites them with data from a new file.
For technical reasons, the deletion procedure is not so straightforward for SSD storage. Although, from the point-of-view of the operating system, an SSD data block is exactly the same as a hard drive block, they cannot be simply overwritten with new data. It is first necessary to explicitly clear them completely, a time consuming operation, before writing new data. The controller of the SSD has to erase each bit of a data block at the physical level, internally resetting all flash memory cells that make up each block. A write operation on a flash storage device will thus be significantly slower if the drive does not have a reserve of empty storage blocks that can be used for the incoming data. The operating system may have to wait for the SSD to prepare an empty block that can be used for a pending write operation. “Empty” in this case means either that this is a brand new, never used storage block, or is a previously used block which has already been cleared.
If large amounts of data have been written to an SSD in the past, the likelihood that either unused or cleared blocks are still available will be 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. Trim commands are part of the ATA8-ACS2 industry standard which specifies how computers should communicate with modern disk drives. 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 in the affected blocks. The likelihood that incoming write commands will find immediately usable free blocks increases, so write operations should be executed as fast as possible.
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.
Very old SSDs (from a time before Trim was standardized) can have internal design flaws, and as a result may not handle Trim commands correctly. This is dangerous, because it can actually lead to situations were the drive clears the wrong block. This could result in 512 bytes of zeros overwriting the actual data within a file. To avoid this danger of data loss or corruption, macOS, by default, only sends Trim commands to Apple flash drives, because it knows that the commands will be implemented correctly.
However, Apple lets you decide whether to use Trim commands with all third-party 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). Changing the mode of operation can be done with Apple’s program trimforce which must be executed on the UNIX command line. System Integrity Protection ensures that only Apple software can be used to either enable or disable this setting. We won’t describe the usage of trimforce 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 is restarted). The status line below the table indicates whether the trimforce setting is currently enabled in the operating system or not.
SSDs, or more exactly, the flash memory chips that comprise such storage media, are subject to wear and tear, just as magnetic hard drives. Although there are no mechanical parts that could wear out, each flash memory cell can only withstand a limited number of erase or write operations due to its design. When a certain amount of reprogramming operations is exceeded, the memory cell can no longer switch between its 0 and 1 states reliably. The affected bit “gets stuck” and the entire storage block in which this bit is located must be blocked, because it is no longer working correctly. The controller of the flash storage is prepared for such cases and ensures internally that all blocks wear out as evenly as possible. In addition, the storage space is overprovisioned, i.e. there is more hidden space available than is reported to the outside world. The “superfluous” space is used on one hand to compensate for the slow speed of erase operations (see previous section), by always having enough pre-erased blocks available on reserve for pending write operations. On the other hand, it is used to replace worn-out storage blocks.
You can check the health of flash memory in your Mac by letting TinkerTool System read out internal SSD statistics. Among other items, you can retrieve the number of read/write operations that have been executed, how long the SSD was in operation, whether there is still enough spare storage available, and how much of the expected lifespan has already been consumed. It does not matter whether this is a real SSD drive, or whether the Mac uses pure flash memory chips (as is common with all modern Macs), where an Apple processor simulates the presence of an SSD drive. However, it is important that the device is an original component of Apple for the respective Macintosh model. The health of third-party SSDs is not automatically monitored by macOS, so it cannot be retrieved by the pane Flash Health in that case.
Accurate values are only guaranteed if communication with the flash unit is based on NVMe technology (Non-Volatile Memory Express). This is the case for all modern Macintosh systems, but for some older Macs which used AHCI communication, macOS will support a very small number of health readings only. TinkerTool System will display this accordingly.
It is not necessary that the flash storage is in use or contains a mounted volume to let it appear in the overview. SSD units which are part of an Apple Fusion Drive are also automatically included in the list.
To let TinkerTool System read out the data that has been collected about Apple flash storage, perform the following steps:
All recognized flash drives provided by Apple will now be listed in the upper table. If there has been a problem while retrieving the data, or no original parts of Apple could be found, the table will stay empty and the message –no entries– will be shown. After clicking a line of the table, the readings for the selected drive are shown in the lower half of the window.
The meaning of the different items is as follows:
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. In older Macs, this is the System Management Controller (SMC), in the latest Macs this is an Apple T2 processor running Apple’s BridgeOS operating system. Fans are mechanical components which are constantly in use when the computer is active, and as such are subject to wear and tear. If you hear unusual noise from your Mac and you suspect that one of its fans is no longer working correctly, it is helpful to quickly test the fans 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 be behaving normally.
As of December 2017, Apple has begun to protect the fan control hardware of some Macintosh model series from access by applications. In this case, TinkerTool System cannot determine the names and locations of the fans.
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.
macOS is a Unix system, so it has its roots in classic time-sharing computing that was used as of the 1950s and onwards. Users connected to a large central computer via a terminal line, logged in with their accounts, ran some programs, and disconnected again. Use of the computer had to be paid per minute. The connection time statistics necessary for this type of accounting are still kept today. TinkerTool System allows you to get access to the data. You can retrieve either the total connect time per user or the total time the Mac was used per day.
The results are shown in the table. Please consider the following: