共 22 篇文章
显示摘要每页显示  条
kmemleak kmemleak 分析 1:检测内核内存泄漏的功能2:Documentation/kmemleak.txt3:内核demo:mm/kmemleak-test.c对于kmemleak,需要理解下面三点就可以了1:我们需要知道它能检测哪几种内存泄漏(即用什么方法分配的内存可以检测)2:内核存在特殊情况,即分配内存但没有引用。关注点2kmemleak_not_leak、kmemleak_ignore、kmemleak_no_sca...
get_cpu_slab负责取得CPU的私有kmem缓冲get_cpu_slab在mm/slub.c中,代码如下。还是来到slab_alloc中,这个时候c->freelist为NULL,进入到__slab_alloc中由于这个时候CPU的私有kmem缓冲中的页面并不为空,但是页面的freelist指针为空,所以会执行if (unlikely(!object))//为空则使用别的goto another_slab;跳转到标号another_slab处执行标号anoth...
Page cache和buffer cache的区别与联系。当page cache的数据需要刷新时,page cache中的数据交给buffer cache,但是这种处理在2.6版本的内核之后就变的很简单了,没有真正意义上的cache操作。Buffer cache是针对磁盘块的缓存,也就是在没有文件系统的情况下,直接对磁盘进行操作的数据会缓存到buffer cache中,例如,文件系统的元数据都会缓存...
嵌入式系统中内存管理方法。内存管理在嵌入式系统中是一个比较重要的问题,如果处理不好内存资源的管理,那么系统的鲁棒性将会大大降低,更严重的话系统将会无法正常运行。目前,最有效的内存管理方法是虚拟内存技术,通过虚拟内存技术可以将逻辑内存和物理内存分开,程序运行在逻辑内存空间,对于每个任务而言都能看到一个很大的内存空间,逻...
Linux内存管理之页面回收。函数 try_to_unmap() 分别调用了两个函数 try_to_unmap_anon() 和 try_to_unmap_file(),其目的都是检查并确定都有哪些页表项引用了同一个物理页面,但是,由于匿名页面和文件映射页面分别采用了不同的数据结构,所以二者采用了不同的方法。函数 try_to_unmap_anon() 用于匿名页面,该函数扫描相应的 anon_vma 表中包...
关于slab管理对象的整体框架以及slab管理对象与对象、页面之间的联系在前面的slab创建一文中已经总结的很清楚了。Slab cache中存放的是相同大小的对象,如果没有着色区,那么同一个cache内,不同slab中具有相同slab内部偏移的对象,其低地址的若干位是相同的,映射到同一个cache line。着色貌似很好的解决了问题,实质不然,当slab数目不多时,...
#endif /*起始页面帧号,指出该节点在全局mem_map中 的偏移*/ unsigned long node_start_pfn; unsigned long node_present_pages; /* total number of physical pages */ unsigned long node_spanned_pages; /* total size of physical page range, including holes */ /*节点编号*/ ...
linux内存管理概述。linux内存管理建立在基本的分页机制基础上,在linux内核中RAM的某些部分将会永久的分配给内核,并用来存放内核代码以及静态内核数据结构。linux中采用了很多有效的管理方法,包括页表管理、高端内存(临时映射区、固定映射区、永久映射区、非连续内存区)管理、为减小外部碎片的伙伴系统、为减小内部碎片的slab机制、伙伴系...
(vma && vma->vm_end > addr && vma->vm_start <= addr)) { //Starts at the root of the tree./*创建并初始化一个新的线性地址区间, 不过,分配成功之后,可以把这个新的先行区间 与已有的其他线性区进行合并; file和offset:如果新的线性区将把一个文件映射到内存 则使用文件描述符指针file和文件偏移量offset ...
Linux进程在内核中是由task_struct进程描述符实现的,task_struct的mm字段指向内存描述符mm_struct,他是进程的一个内存执行摘要。每个虚拟内存区域(VMA)是一个虚拟地址空间上连续的区域;虚拟内存没有存储任何东西,他只是简单的映射一个程序的地址空间到相关的物理内存,这一大块物理内存叫做物理地址空间。当找到一个VMA,内核必须查看PTE...
帮助 | 留言交流 | 联系我们 | 服务条款 | 下载网文摘手 | 下载手机客户端
北京六智信息技术股份有限公司 Copyright© 2005-2024 360doc.com , All Rights Reserved
京ICP证090625号 京ICP备05038915号 京网文[2016]6433-853号 京公网安备11010502030377号
返回
顶部