文章来源——博客园绿色冰点前几次我们分析了Linux系统中用户进程的4G虚存大致分为了几个部分,介绍了3G用户空间中数据段,代码段等静态区域的虚存管理,重点分析了栈的使用。这次我们来分析一下虚存使用中另一个重要部分--堆。前面的介绍中,我们知道编译器,操作系统担负着大量栈分配管理的工作。不论是静态分...
分类:
系统相关 时间:
2014-07-07 18:29:08
阅读次数:
203
2.1 内存地址逻辑地址:段+偏移线性地址(虚拟地址)物理地址2.2硬件中的分段2.2.1 段选择符和段寄存器15 3 2 1 0 ------------------------------------------------| |TI |RPL || 索引号 | | |-------...
分类:
系统相关 时间:
2014-07-02 20:45:39
阅读次数:
252
爱钻牛角尖的毛病又来了。仅仅是因为以前的一个c语言free内存报错。 我们知道,malloc分配的内存是从堆里获得的,而堆是由操作系统维护的,也就是说,在没有malloc前,内存空间是不属于该进程空间的,malloc函数务必调用了操作系统的系统函数(参考前边linux内存管理heap篇可知,是br....
分类:
其他好文 时间:
2014-07-02 18:21:10
阅读次数:
217
本文主要介绍了Linux中进程管理的相关命令,涉及到的主要命令有top,vmstat等.(1)top①功能:用来查看CPU,内存以及进程的状态。②用例:③相关注释:loadaverage表示负载,三个数值分别表示第1分钟,第5分钟,第10分钟Cpu中us表示用户空间程序占用百分比,sy表示内核模式占用..
分类:
系统相关 时间:
2014-07-02 16:01:10
阅读次数:
393
线上集群后端某台Web服务器,我们观察到+buffers/cache值(即Linux内存的实际使用情况)一直都是5365左右,就算停掉Nginx+FastCGI程序也是一样,考虑到这台机器经常在使用rsync+inotify,肯定会存在着频繁存取文件。而Linux系统有一个特性:在Linux下频繁存取文件时,就会占用..
分类:
其他好文 时间:
2014-06-24 16:19:37
阅读次数:
303
一、基本数据结构 1 union m_block 2 { 3 union m_block* next; 4 unsigned int size; 5 }; 6 7 struct m_list 8 { 9 union m_block* free;...
分类:
系统相关 时间:
2014-06-19 07:59:56
阅读次数:
309
1 -- 结构体数据成员对齐的意义
许多实际的计算机系统对基本类型数据在内存中存放的位置有限制,它们会要求这些数据的起始地址的值是某个数k的倍数,这就是所谓的内存对齐,而这个k则被称为该数据类型的对齐模数(alignment modulus)。这种强制的要求一来简化了处理器与内存之间传输系统的设计,二来可以提升读取数据的速度。比如这么一种处理器,它每次读写内存的时候都从某个8倍数的地址开...
分类:
其他好文 时间:
2014-06-11 00:41:01
阅读次数:
272