Question

My question is:

How can i determine which files are on the SSD "partition" on Fusion Drive?

I have an iMac with 1TB Fusion Drive, and it would be good to know which apps or data are on which partition.

Is these information included in the file information or where do i have to look?

Terminal is no problem, so i'm not searching for a easy answer.

EDIT: diskutil list shows me my partitions. But i cannot navigate through /Volumes/... into the specific SSD partition. There must be a way to navigate into each partition, right?

OS X does the same.

Was it helpful?

Solution

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.

  1. Run diskutil list in Terminal.
  2. 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
    
  3. Take note of labels of the disks with a GUID_partition_scheme line. In this case, that's disk0 and disk1. These are the two physical disks, and we can see by the sizes, the smaller one (disk0) is the SSD, meaning disk1 is the HD while disk2 is the logical volume.

Monitor Disk Activity

Now we need a way to monitor disk activity for each device.

  1. Open Terminal, enter iostat -d disk0 disk1 1, replacing the disk numbers with those you found in above.
  2. 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.

  1. 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).
  2. In the terminal window running iostat, watch the to see which disk shows some activity when dd is running. That's the drive the file resides on.
  3. 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 

OTHER TIPS

If you want that much control over which files go where, it's easy enough to break up the fusion drive and just have two separate volumes you can navigate separately. It's also very easy in OS X to have the OS including applications on one drive (the SSD) and have the user account live on a different drive (the HDD). Then you can manually manage where you want other files, the SSD or the HDD.

Licensed under: CC-BY-SA with attribution
Not affiliated with apple.stackexchange
scroll top