- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我比较了运行 Android Gingerbread 和 Ice Cream Sandwich (氰基 CM9)的 galaxys2(arm exynos4)设备的/proc/meminfo。我注意到内核在低内存和高内存之间以不同方式分割内存:
对于 ICS/CM9(3.0 内核):
cat /proc/meminfo:
MemTotal: 843624 kB
MemFree: 68720 kB
Buffers: 1532 kB
Cached: 115720 kB
SwapCached: 0 kB
Active: 487780 kB
Inactive: 64524 kB
Active(anon): 436316 kB
Inactive(anon): 1764 kB
Active(file): 51464 kB
Inactive(file): 62760 kB
Unevictable: 748 kB
Mlocked: 0 kB
**HighTotal: 278528 kB**
HighFree: 23780 kB
**LowTotal: 565096 kB**
LowFree: 44940 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 4 kB
Writeback: 0 kB
AnonPages: 435848 kB
Mapped: 45364 kB
Shmem: 2276 kB
Slab: 37996 kB
SReclaimable: 10028 kB
SUnreclaim: 27968 kB
KernelStack: 10064 kB
PageTables: 16688 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 421812 kB
Committed_AS: 8549052 kB
VmallocTotal: 188416 kB
VmallocUsed: 104480 kB
VmallocChunk: 26500 kB
对于 GB(2.6 内核):
cat /proc/meminfo:
MemTotal: 856360 kB
MemFree: 22264 kB
Buffers: 57000 kB
Cached: 337320 kB
SwapCached: 0 kB
Active: 339064 kB
Inactive: 379148 kB
Active(anon): 212928 kB
Inactive(anon): 112964 kB
Active(file): 126136 kB
Inactive(file): 266184 kB
Unevictable: 396 kB
Mlocked: 0 kB
**HighTotal: 462848 kB**
HighFree: 1392 kB
**LowTotal: 393512 kB**
LowFree: 20872 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 4 kB
Writeback: 0 kB
AnonPages: 324312 kB
Mapped: 97092 kB
Shmem: 1580 kB
Slab: 29160 kB
SReclaimable: 13924 kB
SUnreclaim: 15236 kB
KernelStack: 8352 kB
PageTables: 23828 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 428180 kB
Committed_AS: 4001404 kB
VmallocTotal: 196608 kB
VmallocUsed: 104804 kB
VmallocChunk: 57092 kB
我注意到在 3.0 内核上内存压力很明显,内存不足 killer 被频繁调用。
我有两个问题:
最佳答案
据我所知,高低内存的划分是内核的编译参数,因此应该可以(在编译时)进行不同的设置。我不知道为什么在您的示例中将这么多内容分配给高端内存区域。在具有 1 GB 物理 RAM 的 x86 上,低端内存约为 896 MB,高端内存约为 128 MB。
Android 似乎需要比典型的 32 位 x86 桌面更高的内存,我不知道 Android 回声系统的哪些功能会带来这样的要求,所以希望其他人可以告诉你。
您可以尝试调查内存区域,以了解 Android ICS 和 GB 之间的区别。只需执行 cat/proc/zoneinfo
。你可以找到一些背景 information on these zones in this article ,尽管注意它是针对 x86 arch 描述的。
关于memory-management - RAM 在 lowmem 和 highmem 之间分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15321050/
我在模块的 init 方法中分配并映射了 highmem 页面: highmem_page = alloc_pages( GFP_HIGHUSER, 3 ); if ( ! highmem_page
我比较了运行 Android Gingerbread 和 Ice Cream Sandwich (氰基 CM9)的 galaxys2(arm exynos4)设备的/proc/meminfo。我注意到
在 Linux 中,RAM 分为三个区域:DMA 区域、普通区域和 HiGHMEM 区域。那么当用户空间进程请求内存时,何时使用哪个区域以及为什么? 最佳答案 用户空间进程仅访问 HighMem 区域
我正在更新一个旧的 linux 驱动程序,该驱动程序通过 DMA 将数据传输到用户空间页面,这些页面通过 get_user_pages() 从应用程序向下传递。 我的硬件是一个新的基于 x86 Xeo
我是一名优秀的程序员,十分优秀!