Apple - How to determine which files are on SSD on Fusion Drive?
Because the Fusion drive is one logical volume, there are no separate "partitions" to browse to determine this. You can however check which drive an given file is stored on with some command-line utilities.
Determine Your Drive Setup
First we have to figure out how the SSD and HD portions of the Fusion drive are identified in your system.
- Run
diskutil list
in Terminal. You should see output similar to this:
#: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *121.3 GB disk0 1: EFI 209.7 MB disk0s1 2: Apple_CoreStorage 121.0 GB disk0s2 3: Apple_Boot Boot OS X 134.2 MB disk0s3 /dev/disk1 #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *1.0 TB disk1 1: EFI 209.7 MB disk1s1 2: Apple_CoreStorage 999.3 GB disk1s2 3: Apple_Boot Recovery HD 650.0 MB disk1s3 /dev/disk2 #: TYPE NAME SIZE IDENTIFIER 0: Apple_HFS Macintosh HD *1.1 TB disk2
Take note of labels of the disks with a
GUID_partition_scheme
line. In this case, that'sdisk0
anddisk1
. These are the two physical disks, and we can see by the sizes, the smaller one (disk0
) is the SSD, meaningdisk1
is the HD whiledisk2
is the logical volume.
Monitor Disk Activity
Now we need a way to monitor disk activity for each device.
- Open Terminal, enter
iostat -d disk0 disk1 1
, replacing the disk numbers with those you found in above. Run the command, and leave the Terminal window open. You should see output similar to this:
disk0 disk1 KB/t tps MB/s KB/t tps MB/s 26.52 13 0.33 9.35 0 0.00 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00
This shows you the disk activity on a per-device basis, updated every second. The MB/s columns are the most relevant.
Read a File
Now we'll read a file, and use our monitoring solution to discover which drive it resides on.
- Open a second Terminal window, and run
dd if='/path/to/some/file' of=/dev/null
. Replace the path with the proper path to the file (be sure it's quoted if it has unescaped spaces or other special characters). - In the terminal window running
iostat
, watch the to see which disk shows some activity whendd
is running. That's the drive the file resides on. - For large files (especially those on the HD, the dd process may run for a while, you can safely quit it with control+C
Readings like this indicate that disk0
(the SSD in this example) contains the file:
disk0 disk1
KB/t tps MB/s KB/t tps MB/s
28.49 13 0.37 113.92 0 0.00
31.70 4500 139.29 0.00 0 0.00
31.64 3870 119.56 0.00 0 0.00
31.58 3294 101.58 0.00 0 0.00
Whereas these readings indicate that the file is stored on the HD:
disk0 disk1
KB/t tps MB/s KB/t tps MB/s
0.00 0 0.00 128.00 275 34.33
0.00 0 0.00 128.00 255 31.83
7.62 53 0.39 126.90 178 22.03