Como determinar quais arquivos estão no SSD no Fusion Drive?

27

Minha pergunta é:

Como posso determinar quais arquivos estão na "partição" do SSD no Fusion Drive?

Eu tenho um iMac com 1 TB de unidade de fusão e seria bom saber quais aplicativos ou dados estão em qual partição.

Essas informações estão incluídas nas informações do arquivo ou onde devo procurar?

Terminal não é problema, então não estou procurando uma resposta fácil.

EDIT: diskutil listmostra minhas partições. Mas não consigo navegar por / Volumes / ... até a partição SSD específica. Deve haver uma maneira de navegar em cada partição, certo?

OS X faz o mesmo.

Bastian Gruber
fonte
2
Esta não é uma resposta, mas definitivamente vale a pena dar uma olhada: anandtech.com/show/6679/a-month-with-apples-fusion-drive O autor usa os iStat Menus 4 para visualizar a atividade do disco de cada dispositivo, você pode ver na página 3, "Sob o capô".
da4 16/04

Respostas:

27

Como a unidade Fusion é um volume lógico , não há "partições" separadas para procurar e determinar isso. No entanto, você pode verificar em qual unidade um determinado arquivo está armazenado com alguns utilitários de linha de comando.

Determinar a configuração da sua unidade

Primeiro, precisamos descobrir como as partes SSD e HD da unidade Fusion são identificadas no seu sistema.

  1. Execute diskutil listno terminal.
  2. Você deve ver uma saída semelhante a esta:

    #: 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. Anote os rótulos dos discos com uma GUID_partition_schemelinha. Nesse caso, é disk0e disk1. Estes são os dois discos físicos, e podemos ver pelos tamanhos, o menor ( disk0) é o SSD, ou disk1seja, o HD e disk2o volume lógico.

Monitorar a atividade do disco

Agora precisamos de uma maneira de monitorar a atividade do disco para cada dispositivo.

  1. Abra Terminal, insira iostat -d disk0 disk1 1, substituindo os números de disco pelos encontrados acima .
  2. Execute o comando e deixe a janela Terminal aberta. Você deve ver uma saída semelhante a esta:

           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 
    

    Isso mostra a atividade do disco por dispositivo, atualizada a cada segundo. As colunas MB / s são as mais relevantes.

Ler um arquivo

Agora vamos ler um arquivo e usar nossa solução de monitoramento para descobrir em qual unidade ele reside.

  1. Abra uma segunda janela do Terminal e execute dd if='/path/to/some/file' of=/dev/null. Substitua o caminho pelo caminho apropriado para o arquivo (certifique-se de que esteja entre aspas se houver espaços sem escape ou outros caracteres especiais).
  2. Na janela do terminal em execução iostat, observe o disco que mostra alguma atividade quando ddestá em execução. Essa é a unidade em que o arquivo reside.
  3. Para arquivos grandes (especialmente aqueles no HD, o processo dd pode demorar um pouco, você pode encerrá-lo com segurança com control+C

Leituras como essa indicam que disk0(o SSD neste exemplo) contém o arquivo:

       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 

Considerando que essas leituras indicam que o arquivo está armazenado no 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
fonte
Isso é ótimo! Muito obrigado! Mas sempre há gravações menores na unidade. Mesmo que eu não faça nada. Mais um atraso quando executo o "dd". Para arquivos menores (10 MB), há um "problema". Mas se eu executar o dd, existem, após 3 segundos, sempre nas transações do lado "ssd" ... então talvez isso ajude!
Bastian Gruber
Dependendo dos padrões de acesso e há quanto tempo você está usando sua unidade Fusion, acessar um arquivo uma ou duas vezes pode ser suficiente para o sistema "promovê-lo" ao SSD; nesse caso, você poderá ver o acesso em ambos, por isso é infelizmente não é infalível, mas deve ser suficiente para um bom palpite.
precisa saber é
Mas uma pergunta: Por que não o "df 'filename' comando não mostra a partição correta Só shows? 'Disk2'.
Bastian Gruber
Porque o Fusion não funciona com partições tradicionais. disk2in é o volume lógico criado pela união das duas unidades. Do ponto de vista do sistema de arquivos, é onde o arquivo fica, mas é independente de onde os bits subjacentes são fisicamente armazenados. Você pode ler como o drive Fusion funciona para obter uma explicação mais aprofundada.
robmathers
Infelizmente, parece que a metodologia dos robmathers quebra com o novo APFS da Apple, onde a implementação de nível mais baixo dos volumes lógicos do drive Fusion mudou. Tentando os resultados acima em: iostat: não foi possível gravar 'disk1' para monitoramento
Mark Choi
-3

Se você deseja ter tanto controle sobre quais arquivos vão para onde, é fácil interromper a unidade de fusão e ter apenas dois volumes separados para navegar separadamente. Também é muito fácil no OS X ter o sistema operacional, incluindo aplicativos em uma unidade (o SSD) e ter a conta do usuário em uma unidade diferente (o HDD). Depois, você pode gerenciar manualmente onde deseja outros arquivos, o SSD ou o HDD.

l008com
fonte
Eu acho que a pergunta está se referindo não a como quebrá-lo, mas como determinar onde os arquivos foram classificados automaticamente.
JMY1000