如何确定Fusion Drive上SSD上的文件?


27

我的问题是:

如何确定Fusion Drive上SSD“分区”上的文件?

我有一台配备1TB Fusion Drive的iMac,最好知道哪个应用程序或数据位于哪个分区上。

这些信息是否包含在文件信息中或必须在哪里查看?

终端没问题,所以我不是在寻找简单的答案。

编辑:diskutil list给我看我的分区。但是我无法通过/ Volumes / ...导航到特定的SSD分区。必须有一种导航到每个分区的方法,对吗?

OS X也是一样。


2
这不是答案,但绝对值得一看: anandtech.com/show/6679/a-month-with-apples-fusion-drive 作者使用iStat菜单4查看单个设备的磁盘活动,您可以看到它们在第3页“引擎盖下”。
da4 2013年

Answers:


27

由于Fusion驱动器是一个逻辑卷,因此没有浏览单独的“分区”来确定这一点。但是,您可以使用某些命令行实用工具检查给定文件存储在哪个驱动器上。

确定驱动器设置

首先,我们必须弄清楚如何在系统中识别Fusion驱动器的SSD和HD部分。

  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一行记录磁盘的标签。在这种情况下,那就是disk0disk1。这是两个物理磁盘,通过大小我们可以看到,较小的(disk0)是SSD,即disk1HD,而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 
    

    这显示了每个设备的磁盘活动,每秒更新一次。MB / s列最相关。

读取文件

现在,我们将读取文件,并使用监视解决方案来发现文件驻留在哪个驱动器上。

  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 

那很棒!非常感谢!但是,总是会有较小的写入驱动器。即使我什么也没做。加上我执行“ dd”时的延迟。对于较小的文件(10MB),存在一个“问题”。但是,如果我执行dd,则3秒钟后总会出现在“ ssd”端事务上……所以这可能有所帮助!
巴斯蒂安·格鲁伯

根据访问方式和您使用Fusion驱动器的时间长短,一次或两次访问文件可能足以使系统将其“升级”到SSD,在这种情况下,您可能会同时看到两者的访问权限,因此不幸的是,这并不是万无一失的,但是对于一个很好的猜测来说应该足够了。
robmathers 2013年

但是有一个问题:为什么“ df“ filename”命令没有显示正确的分区?它只显示“ disk2”
Bastian Gruber 2013年

因为Fusion不适用于传统分区。disk2in是通过合并两个驱动器创建的逻辑卷。从文件系统的角度来看,这就是文件所在的位置,但是它与物理位的物理存储位置无关。您可能需要阅读Fusion驱动器的工作原理,以获得更深入的说明。
robmathers 2013年

不幸的是,似乎抢劫者的方法与Apple的新APFS中断了,Fusion驱动器逻辑卷的较低级别实施已更改。在以下情况中尝试上述结果:iostat:无法记录要监视的“ disk1”
Mark Choi,

-3

如果要对哪些文件进行控制有足够的控制权,那么很容易就可以分解融合驱动器,并且只有两个单独的卷可以分别导航。在OS X中,将包含应用程序的OS放在一个驱动器(SSD)上并使用户帐户驻留在另一驱动器(HDD)上也很容易。然后,您可以手动管理需要其他文件(SSD或HDD)的位置。


我认为问题不在于如何中断它,而是在于如何确定文件已自动排序的位置。
JMY1000 '02 -2-12
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.