- 博客(11)
- 收藏
- 关注
原创 为什么TCP的TIME_WAIT状态要保持2MSL?
TIMEWAIT状态也称为2MSL等待状态。每个具体TCP实现必须选择一个报文段最大生存时间MSL(Maximum Segment Lifetime)。它是任何报文段被丢弃前在网络内的最长时间。我们知道这个时间是有限的,因为TCP报文段以IP数据报在网络内传输,而IP数据报则有限制其生存时间的TTL字段。RFC 793 [Postel 1981c] 指出MSL为2分钟。然而
2013-11-24 13:14:51 14288
原创 使用strace和ltrace跟踪程序调用
ltrace能够跟踪进程的库函数调用,它会显现出哪个库函数被调用,而strace则是跟踪程序的每个系统调用.1.系统调用的输出对比程序代码:#include main(){ char str[]= "Abcde"; printf("\n string = %s length = %d \n",str,str_length(str));}int str_length
2013-11-23 21:00:37 3143 1
原创 位运算
一、C语言的六种位运算符:& 按位与| 按位或^ 按位异或~ 取反左移>> 右移位运算应用口诀: 清零取反要用与,某位置一可用或若要取反和交换,轻轻松松用异或将int型变量a的第k位清0,即a=a&~(1将int型变量a的第k位置1, 即a=a|(11. 按位与运算按位与运算符"&"是双目运算符。 其功能
2013-11-21 22:40:52 2410
原创 自己写的内存池Slabs
看memcached的源码写的,虽然很粗糙,但是基本思想还是有的,自娱自乐,后期不断改进。#include #include #include struct st{ void * start; void * end; char ptr[10];};struct it{ struct it* prev; struct it* next; int key; int val
2013-11-20 19:17:19 1162 1
原创 从*p++说指针,数组,结构和函数
strlen实现#include main(){ char str[]= "Abcde"; printf("\n string = %s length = %d \n",str,str_length(str));}int str_length (const char *s){ int length = 0; while (*s++){ length++; } retur
2013-11-14 14:45:54 2007 1
原创 Linux线程编程
1.编译undefined reference to 'pthread_create'问题解决 出现如下错误:undefined reference to 'pthread_create'undefined reference to 'pthread_join'问题原因: pthread 库不是 Linux 系统默认的库,连接时需要使用静态库 libpthread
2013-11-13 18:28:55 1015
原创 Memcached安装使用和源码调试
官网:http://memcached.org/下载# wget http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz解压# tar xzvf memcached-1.4.15.tar.gz#cd memcached-1.4.15配置#./configure --prefi
2013-11-12 13:25:52 2552 1
原创 open的O_DIRECT选项
http://blog.chinaunix.net/uid-223060-id-2127385.htmlhttp://blog.csdn.net/hhtang/article/details/6605951查看磁盘分区:#df -h#tune2fs -l /dev/mapper/VolGroup-lv_root或者#dumpe2fs /dev/mapper/
2013-11-11 19:19:32 1626
原创 频繁分配释放内存导致的性能问题的分析--brk和mmap的实现
原文地址:已经找不到现象1 压力测试过程中,发现被测对象性能不够理想,具体表现为: 进程的系统态CPU消耗20,用户态CPU消耗10,系统idle大约70 2 用ps -o majflt,minflt -C program命令查看,发现majflt每秒增量为0,而minflt每秒增量大于10000。初步分析majflt代表major fault,中文名叫
2013-11-11 18:10:47 2910 1
原创 C语言的HashTable简单实现
原文地址:http://blog.csdn.net/zmxiangde_88/article/details/8025541HashTable是在实际应用中很重要的一个结构,下面讨论一个简单的实现,虽然简单,但是该有的部分都还是有的。一,访问接口创建一个hashtable.hashtable hashtable_new(int size) // size表示包含的接点个数
2013-11-11 14:44:57 1136
原创 C语言extern关键字定义外部变量--Redis源码extern使用
在用C语言开发时,特别是在服务器端,内存的使用会成为系统性能的一个瓶颈,如频繁的分配和释放内存,会不断的增加系统的内存碎片,影响内核之后分配内存的效率,这个时候一个比较可行的做法是采用内存池,先分配好比较多的内存,然后在这个已经分配的内存里使用内存,这样就不需要内核过多的参与内存分配和释放的过程。内存池根据应用不同有多种实现的策略,如有些分配很大的内存,然后将内存分配成大小相等的块,并
2013-11-11 14:25:20 1432
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人