
Linux Memory
文章平均质量分 60
内存管理的文章,记录学习历程
SoloLinux
专注Kernel,GPU Driver,ROCM,CPU, Power/Performance开
展开
-
A deep dive into CMA
A deep dive into CMAMarch 14, 2012This article was contributed by Michal "mina86" NazarewiczTheContiguous Memory Allocator(or CMA), which LWNlooked atback in June 2011, has been developed to...翻译 2019-07-15 16:17:38 · 497 阅读 · 0 评论 -
进程组调度机制
又碰到一个神奇的进程调度问题,在系统重启过程中,发现系统挂住了,过了30s后才重新复位,真正系统复位的原因是硬件看门狗重启的系统,而非原来正常的reboot流程。硬件狗记录的复位时间,将不喂狗的时间向前推30s分析串口记录日志,当时的日志就打印了一句话:“sched: RT throttling activated”。从linux-3.0.101-0.7.17版本内核代码中可以看出,sched_...转载 2019-07-11 00:17:00 · 1459 阅读 · 0 评论 -
逻辑地址、线性地址、物理地址和虚拟地址理解
逻辑地址(Logical Address) 是指由程式产生的和段相关的偏移地址部分。例如,你在进行C语言指针编程中,能读取指针变量本身值(&操作),实际上这个值就是逻辑地址,他是相对于你当前进程数据段的地址,不和绝对物理地址相干。只有在Intel实模式下,逻辑地址才和物理地址相等(因为实模式没有分段或分页机制,Cpu不进行自动地址转换);逻辑也就是在Intel保护模式下程式执行代码段限长内的偏移地转载 2016-04-22 14:18:26 · 3836 阅读 · 1 评论 -
Linux下清理内存和Cache方法
Linux下清理内存和Cache方法 /proc/sys/vm/drop_cachesyuanwei@ubuntu:/proc/sys/vm$ lsadmin_reserve_kbytes legacy_va_layout oom_dump_tasksblock_dump lowmem_reserve_原创 2016-03-28 23:29:14 · 1708 阅读 · 0 评论 -
Memory Management
Memory Management Paul Krzyzanowski last update: March 25, 2012We are able to find everything in our memory, which is like a dispensary or chemical laboratory in which chance steers our hand sometim翻译 2016-03-27 16:03:57 · 1374 阅读 · 1 评论 -
kmem_cache 初始化
kernel在启动会初始化后备高速缓存,解决了设备驱动中反复分配很多同一块大小内存的效率问题. 我是打算写一个内存管理系统的学习笔记. 从各个模块的初始化开始. 今天是kmem_cache 的初始流程. 网上借图: /* * Set up kernel memory allocators */static void __init mm_init(void){ /*原创 2016-03-27 00:57:01 · 2141 阅读 · 0 评论 -
内存对齐.结构体对齐
__attrubte__ ((packed)) 的作用就是告诉编译器取消结构在编译过程中的优化对齐,按照实际占用字节数进行对齐。#define __u8 unsigned char#define __u16 unsigned short/* __attribute__ ((packed)) 的位置约束是放于声明的尾部“;”之前 */struct str_s转载 2013-01-07 13:07:01 · 691 阅读 · 0 评论 -
Android Pmem相关介绍
http://fangjian0518.blog.163.com/blog/#m=0Android Pmem相关介绍 2011-10-18 09:40:26| 分类:Android PMEM |字号 订阅基本原理Android Pmem是为了实现共享大尺寸连续物理内存而开发的一种机制,该机制对dsp,gpu等部件非常有用。Pmem相当转载 2011-10-24 14:40:36 · 858 阅读 · 0 评论 -
Linux 内存管理
Linux 内存管理1 页的概念linux 内核中把物理页作为内存分配的最小单位,32位CPU 页的大小通常为4K,64位的CPU通常支持8K的也。内存管理单元MMU 同样以页为大小分配内存。2 内核虚拟地址分区和物理内存分区在32位内核中,内核虚拟地址空间为0-4G,其中用户态为1-3G空间,内核态为3G-4G,内核空间根据物理地址的特性大概可以分为三个区:区 描述 ...转载 2019-07-10 16:21:00 · 881 阅读 · 0 评论 -
mmap内存映射原理
mmap概念 mmap是一种内存映射文件的方法,即将一个文件或者其它对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对映关系。 特点:实现这样的映射关系后,进程就可以采用指针的方式读写操作这一段内存,而系统会自动回写脏页面到对应的文件磁盘上,即完成了对文件的操作而不必再调用read,write等系统调用函数。相反,内核空间对这段区域的修改也直接反映用户空间...转载 2019-07-10 14:02:27 · 1033 阅读 · 0 评论 -
pmap 1
root@ps3cat5505k1 proc]# pmap 11: /usr/lib/systemd/systemd --switched-root --system --deserialize 2100007f2c94000000 164K rw--- [ anon ]00007f2c94029000 65372K ----- [ anon ]00007f2c9c0原创 2017-05-17 17:18:21 · 778 阅读 · 0 评论 -
ps_mem Usage
[root@ps3cat5505k1 proc]# ps_mem Private + Shared = RAM used Program 4.0 KiB + 21.0 KiB = 25.0 KiB dbus-launch 44.0 KiB + 17.5 KiB = 61.5 KiB lsmd 4.0 KiB + 57.5 KiB = 61.5 KiB wpa原创 2017-05-17 17:14:49 · 1087 阅读 · 0 评论