15 Chinainvent

尚未进行身份认证

追梦少年

等级
博文 154
排名 6k+

TCP的TIME_WAIT和CLOSE_TIME

主动关闭方,进入TIME_WAIT;被动关闭方,进入CLOSE_WAIT。Listen端主动关闭进入TIME_WAIT状态,则Listent的Server能够立即接收同一个四元组的连接,通常没任何害处。Client端主动关闭进入TIME_WAIT状态,该Client无法使用同一个local端口连接同一个Server端,但这通常也不会带来坏处,因为Client端通常使用随机的端口。假如Nginx即作

2014-11-04 21:18:44

深入理解debuginfo

深入理解debuginfo@Chinainvent一、关于debuginfo的疑惑二、debuginfo中包含了什么信息?三、debuginfo是如何创建出来的?四、a.out.debug里有什么内容?五、在代码中生成Marker探针六、参考文献一、关于debuginfo的疑惑程序员应该都知道,为了能够使用gdb跟踪程序,需要在编译期使用gcc的-g选项。而对于系统库或是Linux内核,使用g

2014-04-19 19:26:37

无锁化编程-基础篇

2014-04-19 19:22:02

「杀不掉的」僵尸(zombie)进程

「杀不掉的」僵尸(zombie)进程淘仇恕(张云开)感谢淘宝内核组的帮助,GoogleDrive原文Linux的进程,有以下几种状态(摘自本文):StateDescriptionDUninterruptiblesleep(usuallyIO)RRunningorrunnable(onrunqueue)SInterruptiblesleep(waitingforaneve

2013-10-16 22:46:11

TrafficServer日志系统配置指南

TrafficServer日志系统配置指南淘仇恕(张云开)原文放在GoogleDoc里,这里只做镜像不更新一、TS日志系统简介在中大规模的软件系统中,日志系统(loggingsystem),已经成为标配。Linux有syslog,Java有Log4j,Python有logging模块。日志系统的模型,已经非常成熟,大体如下图所示:概括地说,就是日志系统里,允许配置多个日志对象(LogObjec

2013-09-10 16:06:20

How to use reclaimable freelist

Howtousereclaimablefreelist原文链接SummaryThedefaultmemorypoolinTrafficServer(abbr.TS)isnotreclaimable,asaresult,TSwillconsumemoreandmorememorywhichmayleadtoOOM.Inordertofix

2013-02-05 02:07:58

让Xfce的系统菜单悬浮在屏幕最上层

让Xfce的系统菜单悬浮在屏幕最上层为什么需要悬浮首先声明,我异常痛恨系统菜单(英文叫Panel)。作为极简主义者,屏幕的每一寸空间都是宝贵的。而系统菜单,竟然占据了屏幕的一条边带,形如下图右下角那个Panel,尽管我已经把上面的图标缩小到了四个:有同学会说,那可以把它设置为自动隐藏!可是,当我把它设为自动隐藏后,我就无法看到Pidgin上是否有消息闪烁,在工作中我使用的是公司内部的即时通信工具,

2012-12-20 16:12:34

TrafficServer内存分配器优化

TrafficServer内存分配器优化淘仇恕(张云开)为方便不能翻墙的同学,在这里放一份,原文及未来的更新见GoogleDrive链接TS分配器简介TrafficServer(简称TS)的内存分配器,在代码里的入口函数为ink_freelist_new/ink_freelist_free,与传统的malloc/free对应。另外还有一个初始化函数:ink_freelist_init,用于设定内

2012-11-30 13:31:41

Linux Cisco VPN的配置方法

一、安装openconnectopenconnect是Cisco的AnyConnectSSLVPN的Linux客户端。而NetworkManager-openconnect则是把openconnect的命令行工具,集成到了NetworkManager的图形界面上,它的使用与Window差不多。$sudoyuminstall openconnect (在Fedora上,会顺带安装:vpn

2012-10-19 17:40:48

通过Key查找Volume的相关过程分析

TS把若干个物理硬盘、目录(通过storeage.config描述),视为一个大的逻辑盘。并把这个逻辑盘,切分为若干个逻辑卷(通过volume.config描述)。当一个请求过来,这个请求的URL等信息,将被计算出一个md5值,而key则是这个md5值的一个函数:key=fun(md5)。TS需要为每一个请求,关联到一个逻辑卷,以便从这个逻辑卷访问Cache内容。这个过程,就是通过key查找V

2012-10-15 16:53:38

Linux下,支付宝安全控件失效,解决方法

支付宝安全控件,aliedit.sh,下载页面在此。我的系统是Fedora17-64bit,安装了多次,安全控件一直没生效。后来联系了作者:LongdaFeng,zhongyan.feng@alipay.com。他提供了解决方法,见其博文。他同时表示,已经调到其他岗位,aliedit.sh已处于无人维护状态。希望支付宝能有人维护起来,只需要检查一下库依赖,工作量不大,但此事影响支付宝在Linux

2012-06-07 22:04:37

日志系统的设计模式

从事服务器程序开发的工程师们,几乎不可避免地需要使用到日志系统(LoggingSystem)。如果从头开发一个服务器程序,我们有若干开源的日志系统可供选择,例如:Java语言中,Log4j是个不错的选择;Python语言中,有logging类;C语言中,有:Log4c、libqb等。这些开源的日志系统,几乎都使用到相同的设计模式,不同之处在于实现语言、实现方法,以及附加的一些额外功能。今天,我想

2012-01-06 17:49:31

Totem协议(SRP/RRP)讲解PPT

2011-11-18 13:56:39

安装配置MySQL笔记

通过yum安装mysql命令行客户端、mysql服务器$sudoyum-yinstallmysqlmysql-server修改/etc/my.conf,设置mysql和mysqld的默认字符集为utf8[yunkai@alibaba/etc]$diff-umy.cnf.orgmy.cnf---my.cnf.org2011-04-0414:37:44.912465981+0800+++my.cnf2011-04-0414:41:20.12546598

2011-04-04 15:19:00

VirtualBox,使用NAT模式,从host访问guest的服务

<br/>NAT模式,是VirtualBox虚拟机的默认网络模式。NAT模式有一个好处,就是guest可以访问外网,又不必多占一个局域网的IP。<br/> <br/>VirtualBox是如何实现NAT模式的呢?其实质就是转发。从guest发出的网络数据帧,先被VirtualBox的NAT引擎接收,NAT引擎把这些TCP/IP的数据解包,再通过host发送到host上的某个应用程序或是与host在同一个网络上的另一台机器。看起来,就像这些数据是从host上的某个应用程序发出的——使用host自身的IP

2011-03-09 15:38:00

LKD 3rd 读书笔记——第1章/Linux Kernel Versions

<br/>LinuxKernelVersions<br/>Linux内核有两种口味:稳定版和开发版。稳定版是产品级的发行版,适合大范围地布署。发布新的稳定版内核,通常只是为了修复Bug或支持新的驱动。与此不同的是,几乎任何变化都会带来开发版的版本变化。当开发者尝试新的解决方案时,内核代码基的变动通常是剧烈地。<br/> <br/>Linux内核使用简单的命名体系来区分稳定版和开发版(见Figure1.2)。Linux内核的版本号由三个或四个用圆点分隔的数字组成。第一个数字是主发行号,第二个是次

2011-03-04 18:03:00

LKD 3rd 读书笔记——第1章/Linux Versus Classic Unix Kernels

<br/>LinuxVersusClassicUnicKernels<br/>由于具有共同的祖先和相同的API,现代的Unix内核有很多共同的设计特点。没有任何意外,Unix通常是一个完整的、静态的二进制文件(聚内核)。这是指,它是一个运行在单个地址空间的单独的大的可执行镜像文件。Unix系统通过需要可分页的内存管理单元(MMU),这个硬件帮助系统加强内存保护并向每个进程提供单独虚拟地址空间。Linux历史上也需要MMU,但特殊的版本也可以运行在没有MMU的硬件环境上。这是一个巧妙的特性,

2011-02-28 18:19:00

LKD 3rd 读书笔记——第1章/Overview of Operating System and Kernels

<br/>OverviewofOperatingSystemsandKernels<br/>由于操作系统的特性不断地增长,加上某些商业操作系统的不合理设计,导致操作系统的准确概念不被世人所知。很多用户认为他们在屏幕上所看到的部分,就是操作系统。从技术的角度,在本书中,操作系统是指负责整个系统的基本操作和管理的部分。包括:内核、设备驱动程序、引导程序、命令Shell、其他用户接口以及基本的文件和系统工具。而系统则是操作系统和运行在其之上的所有应用程序:<br/>系统=操作系统+应用程序

2011-02-26 23:31:00

LKD 3rd 读书笔记——第1章/History of Linux

<br/>AlongCameLinus:IntroductiontoLinux<br/>LinusTorvalds在1991年发布了Linux的第一个版本,这个版本的Linux只能运行在Intel80386处理器上,这种CPU在当时是新锐的处理器。Linus当时还是Helsinki大学(Helsinki是芬兰的首都名称)的一名学生,他常为没有一个强大而且免费的Unix操作系统而烦恼。当时主流的个人计算机操作系统是微软的DOS系统,对Torvalds而言,除了用它来玩波斯王子这种游戏外,这

2011-02-25 00:09:00

LKD 3rd 读书笔记——第1章/History of Unix

<br/>本章把Linux放在Unix的历史背景下进行介绍,因为Unix有长达40年的历史,在理解Linux之前,让我们先来了解一下Unix系统。<br/> <br/>(因为喜欢这段历史,几乎相当于原文翻译下来了,希望读者们喜欢)<br/> <br/>HistoryofUnix<br/>第一个Unix操作系统,创建于1969年,它的设计经历了40多年的检验,至今仍然是最强大、最优雅的操作系统之一。它的发明者是DennisRitchie(也是C语言的创始人)和KenThompson(也是C

2011-02-23 17:44:00
奖章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!