4

Is there a possibility to find out how much storage is free on a SSD of a Fusion Drive disk (SSD + HDD as a logical device)? The structure I use is this one here:

$ diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *256.1 GB   disk0
   1:                        EFI                         209.7 MB   disk0s1
   2:          Apple_CoreStorage                         255.7 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 Boot OS X               650.0 MB   disk1s3
/dev/disk2
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                  Apple_HFS Fusion                 *1.3 TB     disk2

I would like to see how much space there is free on my SSD (disk0s2) but I cannot find out how to do this. Perhaps it's important to say, that I've encrypted the whole fusion drive. The standard way does not work in this case:

$ df -h /dev/disk0s2
df: /dev/disk0s2: Raw devices not supported

$ df -h /dev/disk0
df: /dev/disk0: Raw devices not supported

Thanks in advance for your effort.

1 Answer 1

4

At least 4 GB of the SSD portion of a Fusion drive is left empty at all times. That space is used for incoming writes. If there's less than 4 GB of empty space on the SSD, Core Storage will start offloading data to the HDD.

So if all your data is less than your SSD capacity less 4 GB, then you have whatever your SSD capacity is (128 GB on all Apple supplied Fusion drives) minus the amount of your data. Otherwise, you've got 4 GB free.

As an aside, the reason df doesn't work in this case is that it only reads filesystems. The filesystem sits atop the logical volume created by Core Storage (the software behind Fusion) — there's no "SSD portion" or "HDD portion", to the filesystem it's all one big drive.

3
  • 1
    Thanks for the explanation and the link. I'll give you an upvote when I've earned enough reputation. The 4GB "landing zone" seems okay but shouldn't it be a bit more than this? In my case I use a 256GB SSD (as you can see above) and as far as I know there should be at least about 10-15% storage free on the SSD so that it can work efficiently. According to this calculation Fusion Drive should leave about 26-38GB of free space all the time. I'm wondering if there is any way to tell Fusion Drive how big the "landing zone" should be (and also if this would lead to improved speeds).
    – dotcs
    May 4, 2013 at 7:59
  • 1
    It varies depending on the type of SSDs, but most keep an area of spare space beyond the advertised capacity, to help deal with that, as well as to deal with NAND wear and so forth. To be honest, I wouldn't worry about it too much. Spare area can have an effect on SSDs, but the effects and required space varies a lot. If you really wanted to set aside more spare area, you could partition the drive so that there's an empty partition, and use the rest for the Fusion drive.
    – robmathers
    May 4, 2013 at 15:29
  • I just read that on my SSD (Samsung 840 PRO) a spare area of about 7GB is kept by the device itself. Additional to this there are the 4GB that you mentioned so there should be about 11GB in total that are kept free over most of the time. Thanks for mentioning the idea of keeping an empty partition. I never thought about this but it could be a possibility for the future. I'll keep it in mind and think about repartition the SSD if I get the feeling that the device has been slowed down over time. Thanks again for your effort!
    – dotcs
    May 4, 2013 at 17:01

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .