目录内存分配垃圾收集如何分析内存问题非托管资源参考文献注释NET提供了一个运行时环境 CLR,负责资源管理(内存分配和垃圾收集),通过垃圾回收器(Garbage Collector)—GC,对内存自动回收。每当您创建新对象时,CLR都会从托管堆为该对象分配内存。 只要托管堆中有地址空间可用,运行时就...
分类:
其他好文 时间:
2014-09-24 21:37:07
阅读次数:
258
这几天在看nginx,发现凡是有内存申请的地方都有pool这个东东出现,仔细看看,原来pool的类型是ngx_pool_t,是nginx用来做内存管理的,于是就决定看看他的实现。
1 nginx内存池相关的结构体
ngx_pool_t定义在core/ngx_palloc.h ngx_palloc.c中,下面是几个主要的结构体
ngx_pool_data_t
typede...
分类:
其他好文 时间:
2014-09-24 21:07:58
阅读次数:
332
数据类型对应字节数(32位,64位 int 占字节数)一、程序运行平台 不同的平台上对不同数据类型分配的字节数是不同的。 个人对平台的理解是CPU+OS+Compiler,是因为: 1、64位机器也可以装32位系统(x64装XP); 2、32位机器上可以有16/32位的编译器(XP上有tc是16位的...
分类:
其他好文 时间:
2014-09-23 22:20:15
阅读次数:
192
如何查看进程发生缺页中断的次数?
用ps -o majflt,minflt -C program命令查看。
majflt代表major fault,中文名叫大错误,minflt代表minor fault,中文名叫小错误。
这两个数值表示一个进程自启动以来所发生的缺页中断的次数。
发成缺页中断后,执行了那些操作?...
分类:
其他好文 时间:
2014-09-23 14:17:14
阅读次数:
256
May 01, 2003 ByGianluca InsolvibileinEmbeddedSoftwareCall some useful fuctions of the GNU C library to save precious memory and to find nasty bugs.Dea...
分类:
其他好文 时间:
2014-09-23 12:44:54
阅读次数:
455
人们似乎认为编写垃圾回收机制是很难的,是一种只有少数智者和Hans Boehm(et al)才能理解的高深魔法。我认为编写垃圾回收最难的地方就是内存分配,这和阅读K&R所写的malloc样例难度是相当的。 在开始之前有一些重...
分类:
其他好文 时间:
2014-09-23 12:11:44
阅读次数:
231
关于Java内存分配,很多问题都模模糊糊,不能全面贯通理解。今查阅资料,欲求深入挖掘,彻底理清java内存分配脉络,只因水平有限,没达到预期效果,仅以此文对所研究到之处作以记录,为以后学习提供参考,避免重头再来。一、Java内存分配1、Java有几种存储区域?* 寄存器-- 在CPU内部,开发人员不...
分类:
编程语言 时间:
2014-09-23 00:29:43
阅读次数:
254
在多任务操作系统中的每一个进程都运行在一个属于它自己的内存沙盘中。这个沙盘就是虚拟地址空间(virtual address space),在32位模式下它总是一个4GB的内存地址块。这些虚拟地址通过页表(page table)映射到物理内存,页表由操作系统维护并被处理器引用。每一个进程拥有一套属于它...
分类:
其他好文 时间:
2014-09-22 23:43:33
阅读次数:
198
在C语言中,内存被分成5个区,它们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。
堆:是那些由new分配的内存块,它们的释放编译器不用管,由应用程序去控制,一般一个new就要对应一个delete。加入此程序员没有释放掉,那么程序结束后,操作系统会自动回收。
栈:是那些由编译器在需要的时候分配,在无须的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。
自由存储区:是...
分类:
其他好文 时间:
2014-09-22 22:57:53
阅读次数:
195