【发布时间】:2012-06-30 19:51:45
【问题描述】:
Android 是否支持虚拟内存概念?我读到它确实使用分页但不使用交换空间。也就是说,它在很大程度上依赖于能够 mmap() 文件并根据需要从文件中获取内核页面(并在不需要时删除这些页面)。然而,它不使用交换空间来分页脏页。
可以详细说明一下吗?
【问题讨论】:
标签: android linux memory-management linux-kernel
Android 是否支持虚拟内存概念?我读到它确实使用分页但不使用交换空间。也就是说,它在很大程度上依赖于能够 mmap() 文件并根据需要从文件中获取内核页面(并在不需要时删除这些页面)。然而,它不使用交换空间来分页脏页。
可以详细说明一下吗?
【问题讨论】:
标签: android linux memory-management linux-kernel
Android 确实支持虚拟内存概念。 Android内核确实支持swap,可以通过内核源码.config文件中的“CONFIG_SWAP=y”来确认。
但启用交换也应该使用交换分区并运行“swapon”。因此,虽然内核支持 SWAP,但 android 内核不使用它。也可以通过android的adb shell中的“cat /proc/meminfo”来确认。
PS:分页和交换空间不是一回事。
【讨论】:
这里有一些与android内存管理相关的链接。 http://mobworld.wordpress.com/2010/07/05/memory-management-in-android/ http://android-developers.blogspot.kr/2011/03/memory-analysis-for-android.html
Android 使用虚拟内存,但在 android 内核中未启用交换分区
【讨论】: