今天是个好日子!
我正在尝试剖析 MacOS 以删除我不需要的功能,例如 Siri、Spotlight、Sidecar 等。
我主要关注https://gist.github.com/pwnsdx以及整个互联网上的类似资源(超过 9000 个)。
我注意到 kernel_task 无缘无故地在外部写入了大量数据。
这样做sudo fs_usage -w kernel_task
让我明白了这一点:
07:49:30.567224 WrMeta[AP] D=0x00070ee7 B=0x1000 /dev disk1 0.000105 W kernel_task.703966
07:49:30.567313 WrMeta[AP] D=0x00070fca B=0x1000 /dev/disk1 0.000105 W kernel_task.703966
07:49:30.567329 WrMeta[AP] D=0x00071545 B=0x1000 /dev/disk1 0.000081 W kernel_task.703966
07:49:30.567334 WrMeta[AP] D=0x0007198f B=0x1000 /dev/disk1 0.000067 W kernel_task.703966
07:49:30.567399 WrMeta[AP] D=0x0007245d B=0x1000 /dev/disk1 0.000121 W kernel_task.703966
07:49:30.567416 WrMeta[AP] D=0x0007258f B=0x1000 /dev/disk1 0.000126 W kernel_task.703966
大约每 4 秒发生一次。
通过控制台进行调查或ps -ax
没有给我任何我可以坚持的东西。
突出的是—— kernel_task 具有生成的任务的特定编号,在本例中为kernel_task.703966
,因此“任务”编号为703966
。
我之前在互联网上做过研究,包括这个网站,但没有任何可以指向来源的东西。我试图将所谓的目标D=0x00070ee7
(示例)映射到十进制,希望得到文件的 iNode,但没有成功。我所知道的只是某物尝试写一些元数据某处在文件系统上。
对于如何进一步挖掘有什么想法吗?
感谢您的意见。
答案1
过去几天,我刚刚对 kernel_task 问题进行了大量“挖掘”,该问题每隔几天就会向我的硬盘写入数 TB 的数据。虽然这似乎是 Time Machine 或 Mojave 的 APFS 实现的一个错误(我将在其他地方记录),但我想说的是,您对fs_usage该实用程序还使您能够筛选正在读取与您正在观察的正在写入的元数据相同类型的进程。
尝试在另一个终端窗口来寻找线索,这将帮助你了解哪些进程有兴趣直接从/dev/disk1设备:
sudo fs_usage -w -f diskio | grep RdMeta | grep " /dev/disk1"
注意:我有一个融合驱动器,所以我必须" /dev/disk1"
用" /dev/disk2"
还有一件事:互联网似乎不理解“WrMeta”和“RdMeta”数据值后面括号符号的含义称呼领域的fs_usage命令。有一个未回答的 StackExchange 问题询问 fs_usage CALL 列的含义,评论表明这些信息仅对 Apple 开发人员有意义。我的假设是,这个方括号中的信息表示用于保存相关元数据的方法,而不是所保存元数据的类型。