
内存管理
cybertan
做事诚恳塌实,刻苦钻研!
开放,共享,合作!
展开
-
内存模型
Linux的内存模型,一般为:地址作用说明>=0xc000 0000内核虚拟存储器用户代码不可见区域Stack(用户栈)ESP指向栈顶 ↓ ↑ 空闲内存>=0x4000 0000原创 2009-08-03 10:55:00 · 1366 阅读 · 0 评论 -
共享内存的说明(1)
共享内存原理上其实比较简单:两个进程的虚拟内存映射同一块物理内存就行了。但是在自己的学习过程中对于mmap和SYSV IPC (system v IPC)自己有点混淆,所以在这里做一个笔记。第一感觉:SYSV IPC是传统上,我们进行进程之间共享内存的使用方式,它有很多关系这块内存的锁机制,也就是对于每个进程来访问他们的共享内存的时候,进行了一些协调和同步。对于这块内存的处理,是使用了sh原创 2009-08-03 11:22:00 · 1257 阅读 · 0 评论 -
共享内存的说明(2)
关于mmap说明:使一个磁盘文件与存储空间的一个缓冲区相映射。也就是说读取缓冲区的数据,就相当于读文件中的相应字节。所以同样,将数据存入缓冲区,就把相应的字节自动写入文件(MAP_SHARED标志,而MAP_PRIVATE不影响原文件,只影响文件的副本)。操作步骤是:首先打开文件,然后从文件的off偏移量处的len长度到指定的缓冲区。 文件长度和缓冲区长度的关系,如果映射区长度不是原创 2009-08-03 11:56:00 · 885 阅读 · 0 评论 -
重读页面的回收处理笔记2
在跟踪代码的过程中,我们可以看到alloc-page就是分配一个page。我们在接着看代码:函数:__alloc_pages_internal,我们可以看到注释:/* * This is the 'heart' of the zoned buddy allocator. */从上面知道这个函数的地位了。首先会去唤醒kswapd的内核线成。wakeup_kswapd。接着:unsigned long try_to_free_pages(struct zonelist *zonelist, int or原创 2010-06-11 16:56:00 · 1466 阅读 · 0 评论 -
清除cache
<br />总有很多朋友对于Linux的内存管理有疑问,之前一篇[转]理解Linux的性能日志似乎也没能清除大家的疑虑。而在新版核心中,似乎对这个问题提供了新的解决方法,特转出来给大家参考一下。最后,还附上我对这方法的意见,欢迎各位一同讨论。<br /><br /> 当在Linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放,而是一直作为caching。这个问题,貌似有不少人在问,不过都没有看到有什么很好解决的办法。那么我来谈谈这个问题。<br /><br />一、通常情况转载 2011-01-14 01:32:00 · 5241 阅读 · 2 评论 -
内存模型2
大内高手—内存模型 转载时请注明出处和作者联系方式:http://blog.youkuaiyun.com/absurd作者联系方式:李先静 更新时间:2007-7-9了解linux的内存模型,或许不能让你大幅度提高编程能力,但是作为一个基本知识点应该熟悉。坐火车外出旅行时,即时你对沿途的地方转载 2011-07-06 22:37:13 · 637 阅读 · 0 评论 -
linux进程内存布局
linux进程内存布局 LinuxXPUbuntuthread 内存管理是操作系统的核心之一,最近在研究内核的内存管理以及C 运行时库对内存的分配和管理,涉及到进程在内存的布局,在此对进程的内存布局做一下总结: 1. 32位模式下的 linux 内存布局图上的各个部分描述得比较清楚,不需再做过多的描述。从上图可以看到,栈至顶向下扩展,并且栈转载 2012-03-12 00:16:10 · 5166 阅读 · 1 评论 -
glibc malloc
Diagnosing Memory Heap Corruption in glibc with MALLOC_CHECK_This document (3113982) is provided subject to thedisclaimer at the end of this document.EnvironmentNovell eDirectory 8.7.3 for L转载 2013-04-08 09:45:48 · 1436 阅读 · 0 评论