Как определить, какие файлы находятся на SSD на Fusion Drive?

27

Мой вопрос:

Как определить, какие файлы находятся в разделе «SSD» на Fusion Drive?

У меня есть iMac с 1 ТБ Fusion Drive, и было бы хорошо узнать, какие приложения или данные находятся на каком разделе.

Включена ли эта информация в информацию о файле или где мне искать?

Терминал не проблема, поэтому я не ищу простой ответ.

РЕДАКТИРОВАТЬ: diskutil listпоказывает мне мои разделы. Но я не могу перейти через / Volumes / ... в конкретный раздел SSD. Должен быть способ навигации по каждому разделу, верно?

OS X делает то же самое.

Бастиан Грубер
источник
2
Это не ответ, но определенно стоит посмотреть: anandtech.com/show/6679/a-month-with-apples-fusion-drive Автор использует iStat Menus 4 для просмотра активности дисков отдельных устройств, вы можете увидеть их на странице 3 «Под капотом».
da4

Ответы:

27

Поскольку диск Fusion представляет собой один логический том , нет отдельных «разделов» для просмотра, чтобы определить это. Однако вы можете проверить, на каком диске данный файл хранится, с помощью некоторых утилит командной строки.

Определите настройки вашего привода

Сначала мы должны выяснить, как SSD и HD части диска Fusion идентифицируются в вашей системе.

  1. Запустить diskutil listв Терминале.
  2. Вы должны увидеть вывод, похожий на этот:

    #: 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. Запишите метки дисков с GUID_partition_schemeлинией. В данном случае это disk0и есть disk1. Это два физических диска, и по размерам видно, что меньший ( disk0) - это SSD, то disk1есть HD, а disk2логический том.

Мониторинг активности диска

Теперь нам нужен способ отслеживать активность диска для каждого устройства.

  1. Откройте Терминал, введите iostat -d disk0 disk1 1, заменив номера дисков теми, которые вы нашли выше .
  2. Запустите команду и оставьте окно терминала открытым. Вы должны увидеть вывод, похожий на этот:

           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 
    

    Это показывает активность диска для каждого устройства, обновляемую каждую секунду. Столбцы МБ / с являются наиболее актуальными.

Читать файл

Теперь мы прочитаем файл и используем наше решение для мониторинга, чтобы определить, на каком диске он находится.

  1. Откройте второе окно терминала и запустите dd if='/path/to/some/file' of=/dev/null. Замените путь на правильный путь к файлу (убедитесь, что он указан в кавычках, если в нем есть неэкранированные пробелы или другие специальные символы).
  2. В работающем окне терминала iostatпосмотрите, какой диск показывает некоторую активность во время ddработы. Это диск, на котором находится файл.
  3. Для больших файлов (особенно для HD, процесс dd может работать некоторое время, вы можете безопасно выйти из него с помощью control+C

Подобные показания показывают, что disk0(SSD в этом примере) содержит файл:

       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 

Принимая во внимание, что эти показания указывают, что файл сохранен на 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 
robmathers
источник
Замечательно! Большое спасибо! Но всегда есть меньшие записи на диск. Даже если я ничего не делаю. Плюс задержка, когда я выполняю «дд». Для файлов меньшего размера (10 МБ) существует «проблема». Но если я выполню дд, через 3 секунды всегда будут транзакции на стороне "ssd" ... так что, возможно, это поможет!
Бастиан Грубер
В зависимости от моделей доступа и того, как долго вы используете диск Fusion, доступ к файлу один или два раза может быть достаточным для того, чтобы система «продвинула» его на SSD, и в этом случае вы можете увидеть доступ к обоим, так что к сожалению, не надежный, но этого должно быть достаточно для хорошего предположения.
Робматерс
Но вопрос: почему команда «df» filename »не показывает правильный раздел? Она показывает только« disk2 ».
Бастиан Грубер,
Потому что Fusion не работает с традиционными разделами. disk2in - это логический том, созданный путем объединения двух дисков. С точки зрения файловой системы, именно там находится файл, но он не зависит от того, где физически хранятся базовые биты. Вы можете прочитать о том, как работает привод Fusion, для более подробного объяснения.
robmathers
К сожалению, похоже, что методология robmathers не соответствует новой APFS от Apple, где изменилась реализация логических томов дисков Fusion более низкого уровня. Попытка вышеупомянутых результатов приводит к: iostat: не удалось записать 'disk1' для мониторинга
Марк Чой
-3

Если вы хотите так много контролировать, куда файлы идут, достаточно просто разбить диск Fusion и просто иметь два отдельных тома, по которым вы можете перемещаться по отдельности. В OS X также очень просто иметь ОС, включающую приложения, на одном диске (SSD) и иметь учетную запись пользователя на другом диске (HDD). Затем вы можете вручную управлять тем, где вам нужны другие файлы, SSD или HDD.

l008com
источник
Я думаю, что вопрос касается не того, как его разбить, а как определить, где файлы были автоматически отсортированы.
JMY1000