我发现应用程序具有清洁记忆功能。
我认为它使用了原始的PURGE功能,但在检查后(使用Activity Monitor),我发现它可能比Purge命令更自由的File Cache(或者它可以独立于PURGE命令运行)。请参考下面的实验。
我的问题:
请参阅free mem as function of command 'purge'
1.它使用什么技术来制作清洁记忆功能(我有一周研究https://opensource.apple.com/但是没有找到相关信息)?
2.(可选)Clean Memory功能和PURGE命令之间的区别?
答案 0 :(得分:2)
Memory Clean应用程序似乎只是分配内存并释放它。如果你有Xcode,你可以运行仪器并跟踪Memory Clean的分配。一旦你点击"清洁记忆"按钮,你会在仪器中看到分配的"总字节数"几乎与显示为"可用内存和#34;在记忆清洁。您也可以在活动监视器中看到相同的内容。
关于purge
命令,它似乎使用不同的机制。使用dtruss
(dtruss purge
)跟踪它会在最后一行显示以下结果:
vfs_purge(0x7FFF5320CDE8, 0x7FFF5320CDF8, 0x7FFF5320CE48) = 0 0
根据vfs_syscalls的来源,更具体地说是评论:
/ * *清除缓冲区缓存以模拟冷启动 * /
毋庸置疑,清除文件缓存是一个坏主意,它只有一个很好的应用程序 - 基准测试磁盘。
答案 1 :(得分:0)
我找到了解决办法。
这是简单的创建数据,然后将其释放。