随笔分类 -  内存管理

内存管理-55-工具-page_types
摘要:注: 基于msm-5.4 一、简介 本文主要介绍 tools/vm/page-types.c。 1. page-types.c 的作用 chatGPT: Linux内核中 tools/vm/page-types.c 文件的作用? Linux内核中的 tools/vm/page-types.c 是一个 阅读全文

posted @ 2025-12-02 20:22 Hello-World3 阅读(5) 评论(0) 推荐(0)

内存管理-54-slub-1-文档翻译等
摘要:一、slub.rst 翻译 注: 翻译自 msm-5.4/Documentation/vm/slub.rst 1. SLUB 简明用户指南 SLUB 的基本理念与 SLAB 截然不同。SLAB 需要重新编译内核才能激活所有 slab 缓存的调试选项。SLUB 始终包含完整的调试功能,但默认情况下处于 阅读全文

posted @ 2025-12-02 18:39 Hello-World3 阅读(12) 评论(0) 推荐(0)

内存管理-53-内存热插拔-1-理论与文档翻译
摘要:一、memory-hotplug.rst 注: 翻译自 msm-5.4/Documentation/core-api/memory-hotplug.rst .. _memory_hotplug: 内存热插拔 1. 内存热插拔事件通知 热插拔事件会被发送到通知队列。 ``include/linux/m 阅读全文

posted @ 2025-12-01 20:30 Hello-World3 阅读(8) 评论(0) 推荐(0)

内存管理-52-memory overcommit-1-文档翻译
摘要:一、overcommit-accounting.rst 注: 翻译自 msm-5.4/Documentation/vm/overcommit-accounting.rst 超额分配记账 Linux 内核支持以下超额分配处理模式: 0: 启发式超额分配处理。拒绝明显的地址空间超额分配。适用于典型系统。 阅读全文

posted @ 2025-11-17 14:01 Hello-World3 阅读(8) 评论(0) 推荐(0)

内存管理-51-lmkd-2-文档翻译与理论
摘要:一、lmkd/README.md 注: 基于A12,翻译自 /android/system/memory/lmkd/README.md Android 低内存杀手守护进程 简介 Android 低内存杀手守护进程 (lmkd) 是一个监控运行中的 Android 系统内存状态的进程,它会在内存压力过 阅读全文

posted @ 2025-11-17 11:32 Hello-World3 阅读(24) 评论(0) 推荐(0)

内存管理-38-页标志-2-page_flags.h展开
摘要:基于msm-5.4 实现下面 test.c, 然后 gcc -E test.c -o pp.c 然后得到 page_flags_my.h#define CONFIG_MMU#define CONFIG_SWAP //#define BUILD_BUG_ON_INVALID(e) ((void)(si 阅读全文

posted @ 2025-11-05 21:55 Hello-World3 阅读(8) 评论(0) 推荐(0)

内存管理-49-alloc_pages-1-快速路径
摘要:基于 msm-5.4 一、简介 本文只介绍内存分配快速路径。 二、数据结构 1. struct alloc_context struct alloc_context { struct zonelist *zonelist; nodemask_t *nodemask; struct zoneref * 阅读全文

posted @ 2025-06-14 22:16 Hello-World3 阅读(154) 评论(0) 推荐(0)

内存管理-48-内存相关trace汇总
摘要:基于msm-5.4 一、kmem 中slub的trace trace方法: P=/sys/kernel/tracing; echo kmem > $P/set_event; > $P/trace; echo 1 > $P/tracing_on; cat $P/trace_pipe | tee tra 阅读全文

posted @ 2025-06-14 17:29 Hello-World3 阅读(76) 评论(0) 推荐(0)

内存管理-47-Poison荼毒
摘要:基于msm-5.4 一、简介 主要是利用头文件定义一些宏,若是向使用物理页的Poison需要使能开关 CONFIG_PAGE_POISONING, 它实现比较简单,只有一个较短的C文件。相关文件: include/linux/poison.h mm/page_poison.c。 C文件中对外只有一个 阅读全文

posted @ 2025-06-10 16:21 Hello-World3 阅读(116) 评论(0) 推荐(0)

内存管理-14-内核文档翻译-4-vm.rst(/proc/sys/vm)
摘要:Documentation for /proc/sys/vm/ kernel version 2.6.29 Copyright (c) 1998, 1999, Rik van Riel <riel@nl.linux.org> Copyright (c) 2008 Peter W. Morreale 阅读全文

posted @ 2025-06-03 15:57 Hello-World3 阅读(81) 评论(0) 推荐(0)

内存管理-14-内核文档翻译-3-concepts.rst
摘要:注: 翻译自 kernel-6.1/Documentation/admin-guide/mm/concepts.rst 概念概述 Linux 中的内存管理是一个复杂的系统,多年来不断发展,包含越来越多的功能,以支持从无 MMU 的微控制器到超级计算机的各种系统。没有 MMU 的系统的内存管理称为“n 阅读全文

posted @ 2025-04-24 15:08 Hello-World3 阅读(61) 评论(0) 推荐(0)

内存管理-45-zram-2-实现分析
摘要:基于msm-5.4 一、简介 传统的 swap 机制是将数据交换到磁盘中,需要进行 I/O 操作,所以一定程度上会影响系统性能。但是建立在swap机制上的zRAM机制将压缩后的数据存储在内存中,对性能影响较小。 在 Linux-3.14 引入的zRAM,其原理是实现一个基于RAM的块设备,将那些暂时 阅读全文

posted @ 2025-04-14 14:03 Hello-World3 阅读(346) 评论(0) 推荐(0)

内存管理-10-内存相关栈回溯
摘要:1. 缺页异常的栈 rt_spin_lock wake_up_page_bit unlock_page filemap_map_pages handle_mm_fault do_page_fault do_translation_fault do_mem_abort el0_ia el0_sync_ 阅读全文

posted @ 2025-02-19 11:29 Hello-World3 阅读(33) 评论(0) 推荐(0)

内存管理-44-PSI-理论
摘要:基于msm-5.4 一、psi.txt翻译 翻译: msm-5.4/Documentation/accounting/psi.rst PSI - 压力失速信息(Pressure Stall Information) :日期:2018 年 4 月:作者:Johannes Weiner <hannes@ 阅读全文

posted @ 2024-11-28 09:18 Hello-World3 阅读(223) 评论(0) 推荐(0)

内存管理-41-highatomic预留内存
摘要:基于msm-5.4 一、相关结构体 1. struct zone struct zone { unsigned long nr_reserved_highatomic; ... }; 成员介绍: nr_reserved_highatomic: 记录为高优先级原子分配预留的内存页面数量。 二、赋值逻辑 阅读全文

posted @ 2024-11-09 16:22 Hello-World3 阅读(280) 评论(0) 推荐(0)

内存管理-40-watermark内存水位
摘要:基于msm-5.4 模块内调用路径: postcore_initcall //page_alloc.c 【】内核初始化 init_per_zone_wmark_min //page_alloc.c /proc/sys/vm/extra_free_kbytes //【】sysctl节点配置。 /pro 阅读全文

posted @ 2024-11-09 11:48 Hello-World3 阅读(1351) 评论(1) 推荐(0)

内存管理-38-页标志-1-pageflags
摘要:基于msm-5.4 内存管理-38-页标志-2-page_flags.h展开: https://www.cnblogs.com/hellokitty2/p/19194732 一、相关结构 1. enum pageflags enum pageflags { //include/linux/page- 阅读全文

posted @ 2024-11-05 15:33 Hello-World3 阅读(179) 评论(0) 推荐(1)

内存管理-31-系统内存统计-6-dumpsys meminfo
摘要:一、dumpsys meminfo命令数据格式 基于Android-14(U) # dumpsys meminfo Applications Memory Usage (in Kilobytes): Uptime: 2802229 Realtime: 2802229 Total RSS by pro 阅读全文

posted @ 2024-10-16 21:15 Hello-World3 阅读(273) 评论(0) 推荐(0)

内存管理-34-内存回收-shrinker的注册和调用
摘要:基于msm-5.4 一、简介 当存在内存压力时,会调用 shrinker 的 count_objects() 和 scan_objects() 进程内存回收操作。 二、注册逻辑 1. 注册 ashmem_init //ashmem.c register_shrinker(&ashmem_shrink 阅读全文

posted @ 2024-09-06 21:34 Hello-World3 阅读(289) 评论(0) 推荐(0)

内存管理-14-内核文档翻译-2-memory-allocation.rst 和 gfp_mask-from-fs-io.rst
摘要:一、memory-allocation.rst msm-5.4/Documentation/core-api/memory-allocation.rst 翻译: 内存分配指南 Linux 提供了各种用于内存分配的 API。您可以使用 `kmalloc()` 或 `kmem_cache_alloc() 阅读全文

posted @ 2024-09-02 20:32 Hello-World3 阅读(158) 评论(0) 推荐(0)

导航