随笔分类 - 【linux内存管理】
摘要:转自:https://jacktang816.github.io/post/mallocandfree/ C语言中使用malloc可以分配一段连续的内存空间。在c/c++开发中,因为malloc属于C标准库函数,经常会使用其分配内存。malloc是在堆中分配一块可用内存给用户。作为一个使用频繁的基础
阅读全文
摘要:转自:https://www.tiehichi.site/2020/10/22/Linux%E8%BF%9B%E7%A8%8B%E6%A0%88%E7%A9%BA%E9%97%B4%E5%A4%A7%E5%B0%8F/ 内核栈 用户栈大小 用户栈虚拟地址空间最大值 当前用户栈虚拟地址空间大小 栈顶地
阅读全文
摘要:转自:https://blog.css8.cn/post/2981644.html 25. Linux模式设计 25.1. 数据大小 内核为了保持最大的兼容性和代码灵活性,不可能直接对某个数据类型定义它的大小范围。但是很多时候又要用到这些最大值最小值或者该数据类型可以表示的数据范围,比如初始化一个值
阅读全文
摘要:转自:https://www.kernel.org/doc/html/latest/translations/zh_CN/core-api/unaligned-memory-access.html Original Unaligned Memory Accesses 翻译 司延腾 Yanteng S
阅读全文
摘要:转自:https://zhuanlan.zhihu.com/p/355205941 介绍完内存初始化过程中最为重要的一个数据结构后,我们就正式开始跟着代码从start_kernel一步一步了解内存初始化的整个流程。我们再次借用初始化第一章节的代码流程图。 setup_arch setup_arch是
阅读全文
摘要:转自:http://gityuan.com/2015/10/30/kernel-memory/ 关于Linux的内存管理,本文分别从内核空间和用户空间两个视角来阐述 一、内核空间 1.1 页 页(page)是内核的内存管理基本单位。 ==> linux/mm_types.h struct page
阅读全文
摘要:转自:https://www.eet-china.com/mp/a53927.html Linux的内存管理可谓是学好Linux的必经之路,也是Linux的关键知识点,有人说打通了内存管理的知识,也就打通了Linux的任督二脉,这一点不夸张。有人问网上有很多Linux内存管理的内容,为什么还要看你这
阅读全文
摘要:转自:https://www.cnblogs.com/linhaostudy/p/12052673.html 阅读目录 0x00 宏的基本知识 Linux内核中do{...}while(0)意义: 0x01 常见宏整理 __CONCAT宏 BUG_ON(condition) BUILD_BUG_ON
阅读全文
摘要:转自:http://linuxperf.com/?p=184 在前文中,我们介绍了在RHEL6及较早的kernel上诊断slab泄漏问题的两种方法,可以说相当麻烦了,这是因为以前的slab没有提供原生的故障诊断机制。Linux kernel自2.6.23之后采用的Slub自带了故障诊断机制,就方便很
阅读全文
摘要:转自:https://blog.csdn.net/u010936265/article/details/108330347?spm=1001.2101.3001.6650.6&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7
阅读全文
摘要:转自:https://www.cnblogs.com/arnoldlu/p/8567559.html 专题:Linux内存管理专题 关键词:OOM、oom_adj、oom_score、badness。 Linux内核为了提高内存的使用效率采用过度分配内存(over-commit memory)的办法
阅读全文
摘要:转自:https://www.cnblogs.com/arnoldlu/p/8568330.html#oom 1. General 1.1 /proc/meminfo /proc/meminfo是了解Linux系统内存使用状况主要接口,也是free等命令的数据来源。 下面是cat /proc/mem
阅读全文
摘要:转自:https://www.jianshu.com/p/1f8e36285539 缓存是一个计算机思维,对于重复的计算,缓存其结果,下次再算这个任务的时候,不去真正的计算,而是直接返回结果,能加快处理速度。当然有些会随时间改变的东西,缓存会失效,得重新计算。 比如缓存空间只有2个,要缓存的数据有很
阅读全文
摘要:转自:https://www.cnblogs.com/pengdonglin137/p/5837115.html 阅读目录(Content) 平臺 參考博文 代碼調用 方法一 方法二 方法三 在Linux系統中可以通過memblock來設置系統保留物理內存,防止這些內存被內存管理系統分配出去。 作者
阅读全文
摘要:转自:https://www.cnblogs.com/arnoldlu/p/8335568.html 专题:Linux内存管理专题 关键词:mm、vaddr、VMA、page、pfn、pte、paddr、pg_data、zone、mem_map[]。 1. 内存管理数据结构的关系图 在大部分Linu
阅读全文
摘要:转自:https://www.cnblogs.com/shengansong/archive/2012/09/01/2666213.html DDR SDRAM全称为Double Data Rate SDRAM,中文名为“双倍数据流SDRAM”。DDR SDRAM在原有的SDRAM的基础上改进而来。
阅读全文
摘要:转自:https://blog.csdn.net/chenhongfeng1122/article/details/24876137 DDR SDRAM 全称为 Double Data Rate SDRAM,中文名为“双倍数据流 SDRAM”。DDR SDRAM 在原 有的 SDRAM的基础上改进而
阅读全文
摘要:转自:https://blog.csdn.net/ivychend/article/details/79785303 1 物理地址、虚拟地址、总线地址2 编址方式2.1 外设访问2.1.1 映射3 虚拟地址映射4 内存布局4.1 动态映射区4.2 永久映射区4.3 固定映射区4.4 high mem
阅读全文
摘要:转自:https://hammertux.github.io/slab-allocator #include <linux/slab.h> Author: Andrea Di Dio If you have any further questions or suggestions after rea
阅读全文
摘要:转自:https://zhuanlan.zhihu.com/p/166649492 概述: 我们知道内核中的物理内存由伙伴系统(buddy system)进行管理,它的分配粒度是以物理页帧(page)为单位的,但内核中有大量的数据结构只需要若干bytes的空间,倘若仍按页来分配,势必会造成大量的内存
阅读全文