存档

文章标签 ‘内存管理’

一次由于sbrk()无法压缩导致内存RSS虚高造成“内存泄露”的假象

2014年4月4日 没有评论 7089次阅读    

最近写的一个C网络服务器程序在高压力后top进程看内存的RSS总是等于最高值, 以为是内存泄露,到处查看代码没问题,用valgrind跟了一下也还是没有发现问题。

于是将malloc改为自己的函数记录了一下程序的malloc, free操作,从而算出还有多少大小内存没有释放,最后结果是一切正常,基本都释放了,但奇怪的是RSS却没有降下来。 阅读全文...

Share
分类: C/C++ 标签: , ,

redis内存管理代码分析

2013年5月4日 1 条评论 7170次阅读    

今天开始学习redis代码,首先内存分配。
本以为它的内存分配会很复杂的,不过看样子比较简单,基本就是在malloc上面包了一层,不过也可选的可以使用tcmalloc进行内存分配了,据说google这个tcmalloc性能不错。
不多说了,show me the code.详见代码注释。
阅读全文...

Share
分类: Redis 标签: , ,

linux 内核处理缺页异常函数:do_page_fault ,2.4.0版

2012年7月1日 没有评论 10520次阅读    

关于内核地址空间如何和进程地址空间合在一起,下面函数能看出来。
阅读全文...

Share