小米 HyperOS 2 的动态内存页是如何实现的?

Yadomin · 2024-10-26 09:10:25 · 218 次点击
在极客湾评测小米 15 的视频中,提到了 HyperOS 2.0 对内存管理的优化。

![]( https://i.imgur.com/HSuTT4O.png)

看到这里感觉非常迷惑,印象中 Linux 的页大小是一个固定的值,和 CPU 的支持相关,一般都是用 4K ,Android 15 要改成 16K ,小米是怎么实现动态的页大小的?

另外这么改不会造成兼容性问题吗? Android 15 要改成 16k 页都需要一些应用重新编译,动态的岂不是更难适配?
举报· 218 次点击
登录 注册 站外分享
15 条回复  
NealLason 初学 2024-10-26 09:11:51
其实就是 Huge TLB 技术,ARM MMU 硬件支持的。
https://docs.kernel.org/admin-guide/mm/hugetlbpage.html
Chinsung 小成 2024-10-26 09:41:09
OS 要实现动态页的话,OS 在整个页面汰换和分配算法上要做非常巨大并且深入的改变,按照他的这种说法,应用层申请内存的部分大概率也得重写(指定具体大小的页,或者由 OS 经过一定类似学习的算法来改变给这个应用分配的大小),这块其实想做好难度非常大,不然也不会那么多 OS 都还是固定页+大页支持了
cooltechbs 小成 2024-10-26 09:51:21
2M 超大页不新鲜了,把固定 4K 页改成固定 16K 也不复杂(我记得苹果 M 系列就是用的 16K ),但是要实现 4/8/16/32/64K )自适应,我第一反应是有这个必要吗?
Victora 初学 2024-10-26 10:05:55
@cooltechbs #4 我也觉得必要性不大。只能说好过什么都不做吧,实际性能有个 10%影响就不错了。
levelworm 初学 2024-10-26 10:54:58
所谓动态的话,会不会是根据应用来?能看到源代码吗?
kingcanfish 小成 2024-10-26 10:55:37
其实我更倾向于吹牛逼
dhb233 小成 2024-10-26 11:10:31
@Victora  在性能优化上,10%的优化已经是巨大提升了。。。
FightPig 初学 2024-10-26 11:29:16
现在小米的系统每次都吹进步,用起来发现和以前还一样
bxb100 小成 2024-10-26 11:37:02
不是太熟悉这个, 但是我一直有个疑问, 这种垃圾回收是不是性能地狱
12下一页
返回顶部