一. 原理tcmalloc就是一个内存分配器,管理堆内存,主要影响malloc和free,用于降低频繁分配、释放内存造成的性能损耗,并且有效地控制内存碎片。glibc中的内存分配器是ptmalloc2,tcmalloc号称要比它快。一次malloc和free操作,ptmalloc需要300ns,而t...
分类:
其他好文 时间:
2015-03-13 18:26:40
阅读次数:
414
在CentOS6.5上用gdb调试时提示Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.132.el6.i686先修改/etc/yum.repos.d/CentOS-Debuginfo.repo里面的debuginfo...
分类:
数据库 时间:
2015-03-12 14:54:49
阅读次数:
866
今天想升级centos5.7的glibc版本,想当然的把新编译的glibc的libc-2.7.so 复制到/lib64/libc-2.5.solrwxrwxrwx 1 root root 11 Mar 5 10:30 /lib64/libc.so.6 -> libc-2.5.so然后系统挂了,ss....
分类:
其他好文 时间:
2015-03-09 18:56:48
阅读次数:
149
进程的地址空间中有很大的一块区域是被称作“堆”的区域
其地址空间是在进程的.data和.bss的地址增长方向到动态库区域的低地址部分的范围
堆可以理解成是进程的一大块内存区域(已经分配实际物理内存,但并不是所有的地址空间都分配了物理内存,其大小根据系统类型和版本来定)
用来供进程中的程序动态分配内存空间
通常,进程通过向操作系统批发一大块实际的内存空间交给glibc管理以提高动态内存请求和释放的效率
在程序要请求动态分配比较小的内存空间的时候,glibc从这一大块内存空间中分配之
当程序要请求动态分配较大的...
分类:
系统相关 时间:
2015-03-07 20:03:14
阅读次数:
194
1> Test if the problem exists, code: #include #include #include #include #include #define CANARY "in_the_coal_mine"struct { char buffer[1024]; ...
分类:
系统相关 时间:
2015-03-07 15:35:07
阅读次数:
182
0.以下在系统CentOS 6.3 x86_64上操作1.试图运行程序,提示"libc.so.6: version `GLIBC_2.14' not found",原因是系统的glibc版本太低,软件编译时使用了较高版本的glibc引起的:[ghui@StuOSbin]$pwd/var/VMdisk...
分类:
其他好文 时间:
2015-03-03 22:00:53
阅读次数:
248
[root@localhost /]# yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel b...
分类:
其他好文 时间:
2015-02-27 13:45:16
阅读次数:
214
前面一直在讲tzset似乎只在初始化的时候才生效,当tzset调用多次时没用。
今天稍微深入的查找了glibc中的tzset的实现,发现其实不是这么回事,其真正的实现是每次都会去解析的。为什么之前会误认为tzset无效,是由于本地进程的环境变量和全局环境变量导致的。
具体的tzset的实现是tzset_internal,在这个函数中,其基本思路是:
1、首先检查环境变量中的TZ环境变量是否存...
分类:
编程语言 时间:
2015-02-13 18:39:37
阅读次数:
547
1.漏洞背景代码审计公司Qualys的研究人员在glibc库中的__nss_hostname_digits_dots()函数中发现了一个缓冲区溢出的漏洞,这个bug可以经过gethostbyname*()函数被本地或者远程的触发。1)通过gethostbyname()函数或gethostbyname2()函数,将可能产生一个堆上的缓冲区溢出。经由g..
分类:
系统相关 时间:
2015-02-11 18:55:54
阅读次数:
270