wayne's blog

在一秒钟的时间里,也可以突然很感动!~

  DonewsBlog  |  Donews首页  |  Donews社区  |  Donews邮箱  |  我的首页  |  联系作者  |  聚合   |  登录
  139篇文章 :: 0篇收藏:: 54篇评论:: 1个Trackbacks

公告


使用 POTU 订阅!


Subscribe in My MSN

文章

收藏

相册

友情

存档


正在读取评论……


2008年07月01日


    摘要:

公司blog

http://www.yiteblog.cn/

    (全文共83字)——点击此处阅读全文


2008年06月27日


    摘要:

web压力测试软件有很多,这次教大家三个 ab(apache),siege(可测试整体网站),webbench(测试高并发)


一.ab
安装就不多介绍了,安装apache就会安装的
# ab -c 100 -n 10000 http://127.0.0.1/index.php
表示同时处理100个请求并运行10000次

ab经过我测试最多只能同时100个并发请求,不可以再高了,所以也就做做一般的测试


二.siege
# wget ftp://sid.joedog.org/pub/siege/siege-latest.tar.gz
# ./configure
# make
# make install

建立网站列表此处阅读全文



2008年04月05日


    摘要:

什么是proc文件系统?

 

proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是动态从系统内核读出所需信息并提交的。它的目录结构如下:

 

目录名称 目录内容

apm 高级电源管理信息

cmdline 内核命令行

Cpuin    (全文共18126字)——点击此处阅读全文



2008年03月31日


    摘要:Lighttpd和PHP的搭配现在越来越常见了。但是老实说,如非必要,我还是推荐你使用Apache和PHP的搭配方式,毕竟LAMP构架的成熟度和稳定度都是经过时间考验的。

那么什么时候Lighttpd和PHP的搭配更值得选择呢?可以从以下几点考虑:如果访问量比较大,硬件资源吃紧,那么Lighttpd适合你;如果和稳定相比,你倾向速度多一些,那么Lighttpd适合你。

题外话:NginX大有赶超Lighttpd的态势。

Lighttpd的安装,本文就不多说了,大家自己搜索一下就能找到大把大把的教程。这里我们着重讨论一下Lighttpd的配置。

安装好Lighttpd+PHP后,你的配置很可能是类似下面的代码:

    (全文共4067字)——点击此处阅读全文


2008年03月25日


    摘要:sysctl 是一个用来在系统运作中查看及调整系统参数的工具。有的 sysctl 参数只是用来回报目前的系统状况,例如回报目前已开机时间、所使用的操作系统版本、核心名称等等;而有的可以让我们修改参数以调整系统运作的行为,例如网络暂存内存的大小、最大的上线人数等等。sysctl.conf就是sysctl的配置文件,而这些可以调整的参数中必须在一开机系统执行其它程序前就设定好,有的可以在开机完后任意调整。同大多数配置文件一样,我们可以对sysctl.conf进行配置来优化系统的性能.

  网上关于sysctl.conf的优化方案有各种版本,大多都是抄来抄去的,让新人看了很迷茫。为解决此问题,经过两天的整理,查了N多资料,将大家常用的总结如下,很多默认的不需要修改的暂未涉及,今后将逐步把所有的项目都有个翻译、讲解、修改建议,如有修改,将以此文为准,其他地方的内容,本人不负责更新。因此转载请注明链接地址:http://www.bsdlover.cn/secur    (全文共19490字)——点击此处阅读全文


2008年03月10日


    摘要:般类的提示


    eth1: Too much work at interrupt, IntrStatus=0x0001


    这条提示的含意为. 某网卡的中断请求过多. 如果只是偶尔出现一次可忽略. 但这条提示如果经常出现或是集中出现,那涉及到的可能性就比较多有可能需要进行处理了.。可能性比较多,如网卡性能;服务器性能;网络攻击..等等。


    一般类的提示


    IPVS: incoming ICMP: failed checksum from 61.172.0.X!


    服务器收到了一个校验和错误的ICMP数据包。 这类的数据包有可能是非法产生的垃圾数据.但从目前来看服务器收到这样的数据非常多.一般都忽略。


    一般代理    (全文共4800字)——点击此处阅读全文



2008年03月03日

有一个第三方软件RPMForge ,可以加大yum的软件库

到安装库的网页http://dag.wieers.com/rpm/packages/rpmforge-release/,找到合适的软件包,事实上很简单,我们是centos5.0,由于是和红帽子企业版5.0同样的源编译出来的,那么要的就是rhel5.0的就可以,备选的就只有以下两个

rpmforge-release-0.3.6-1.el5.rf.i386.rpm Fri 09 Mar 2007 16 kB Red Hat EL 5 - i386

rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm Fri 09 Mar 2007 16 kB Red Hat EL 5 - x86_64

el5 代表的就是centos5 , el4 就是centos4
x86_64是64位的

 # rpm -ivh rpmforge-release-0.3.6-1.el5.rf.i386.rpm

# yum install –enablerepo=rpmforge memcached php-pecl-memcache
验证并安装软件包

 





    摘要:

Memcache是一个linux下面高速缓存的程序,可以大大提速动态程序的运行。

 此处阅读全文



2007年12月22日


    摘要: 我的服务器每天都会有无数的SSH失败尝试记录,有些无聊的人一直不停的扫描,这些人真够无聊的,没事吃饱了撑着,老找些软件在那里穷举扫描,所以大家第一要记的设置一个好的够复杂的密码。   怎么样防,如果要一条一条将这些IP阻止显然治标不治本,还好有DenyHosts软件来代替我们手搞定他。   DenyHosts是Python语言写的一个程序,它会分析sshd的日志文件,当发现重复的攻击时就会记录IP到/etc/hosts.deny文件,从而达到自动屏IP的功能。  

此处阅读全文



2007年12月06日


    摘要: 原网址:http://developer.ccidnet.com/art/737/20031112/70945_3.html

 

实例

理解了上述关于请求转发方式和调度算法的基本概念后,就可以运用LVS来具体实现几种不同方式的负载均衡的集群系统。LVS的配置是通过前面所安装的IP虚拟服务器软件ipvsadm来实现的。ipvsadm与LVS的关系类似于iptables和NetFilter的关系,前者只是一个建立和修改规则的工具,这些命令的作用在系统重新启动后就消失了,所以应该将这些命令写到一个脚本里,然后让它在系统启动后自动执行。网上有不少配置LVS的工具,有的甚至可以自动生成脚本。但是自己手工编写有助于更深入地了解,所以本文的安装没有利用其它第三方提供的脚本,而是纯粹使用ipvsadm    (全文共12979字)——点击此处阅读全文



2007年12月05日


    摘要:在LINUX环境开发驱动程序,首先要探测到新硬件,接下来就是开发驱动程序。

常用命令整理如下:

用硬件检测程序kuduz探测新硬件:service kudzu start ( or restart)

查看CPU信息:cat /proc/cpuinfo

查看板卡信息:cat /proc/pci

查看PCI信息:lspci (相比cat /proc/pci更直观)

查看内存信息:cat /proc/meminfo

查看USB设备:cat /proc/bus/usb/devices

查看键盘和鼠标:cat /proc/bus/input/devices

查看系统硬盘信息和使用情况:fdisk & disk - l & df

查看各设备的中断请求(IRQ):cat /proc/interrupts

查看系统体系结构:u    (全文共1110字)——点击此处阅读全文


2007年11月24日

===========网络接口界面(比如lo,eth0,eth1)参数===========


/proc/sys/net/ipv4/conf/{interface}/* :
/proc/sys/net/ipv4/conf/ 下可以发现类似 all,eth0,eth1,default,lo 等网络接口界面,每一个都是目录,他们下属的文件中,每个文件对应该界面下某些可以设置的选项设置.(all/是特定的,用来修改所有接口的设置,default/ 表示缺省设置,lo/表示本地接口设置,eth0/表示第一块网卡,eth1/表示第2块网卡.注意:下面有的参数,是需要all和该界面下同时为ture才生效,而某些则是只需要该界面下为true即可,注意区别!!)


log_martians : BOOLEAN
记录带有不允许的地址的数据报到内核日志中。all/ 或者{interface}/至少有一个True即可生效.

accept_redirects : BOOLEAN
对于主机来说默认为True,对于用作路由器时默认值为False
收发接收ICMP重定向消息。all/{interface}/两者同时True方可生效.
(如果不熟悉所在网络的结构.推荐不修改,因为在有多个出口的网络的时候,如果有2个出口路由器,由于作为主机的时候默认只指认一个网关,出口路由可能有策略设置转到另一个路由器上.)

forwarding : BOOLEAN
在该接口打开转发功能 (在3块或以上的网卡的时候很实用,有时候只想让其中一外一内,另一块做服务,就可以让这块做服务的网卡不转发数据进出)

mc_forwarding :BOOLEAN
是否进行多播路由。只有内核编译有CONFIG_MROUTE并且有路由服务程序在运行该参数才有效。

medium_id :INTEGER
默认值是0
通常,这个参数用来区分不同媒介.两个网络设备可以使用不同的值,使他们只有其中之一接收到广播包.默认值为0表示各个网络介质接受他们自己介质上的媒介,值-1表示该媒介未知。 通常,这个参数被用来配合proxy_arp实现:proxy_arp的特性即是允许arp报文在两个不同的网络介质中转发.(第一段 Integer value used to differentiate the devices by the medium they
are attached to. Two devices can have different id values when
the broadcast packets are received only on one of them.
The default value 0 means that the device is the only interface
to its medium, value of -1 means that medium is not known.
没读懂,去cu问人,以后更正)


proxy_arp : BOOLEAN
打开arp代理功能。all/ 或者{interface}/至少有一个True即可生效

shared_media : BOOLEAN
默认为True

发送(路由器)或接收(主机) RFC1620 共享媒体重定向。覆盖ip_secure_redirects的值。all/ 或者{interface}/至少有一个True即可生效

secure_redirects : BOOLEAN
默认为True

仅仅接收发给默认网关列表中网关的ICMP重定向消息,默认值是TRUE。all/ 或者{interface}/至少有一个True即可生效。 (这个参数一般情形请不要修改,可以有效地防止来自同网段的非网关机器发出恶意ICMP重定向攻击行为)

send_redirects : BOOLEAN
默认为True
如果是router,允许发送重定向消息.all/ 或者{interface}/至少有一个True即可生效。(根据网络而定,如果是做NAT,并且网内只有此一个网关的时候,其实是可以关闭掉它的,事实上目前而言,IP Redirects是TCP/IP协议产生早期为了解决网络持续性而提出的一种方法,后来事实证明这种措施不太实用而且具有很大的安全风险,可能引起各种可能的网络风险产生 - 拒绝服务攻击,中间人攻击,会话劫持等等,所以很多安全文档是推荐关闭它.)


bootp_relay : BOOLEAN
默认为False

接收源地址为0.b.c.d,目的地址不是本机的数据报。用来支持BOOTP转发服务进程,该进程将捕获并转发该包。目前还没有实现。

accept_source_route : BOOLEAN
对于主机来说默认为False,对于用作路由器时默认值为True
接收带有SRR选项的数据报。all/{interface}/两者同时True方可生效.(IP源路由选项,也是TCP/IP协议早期的一个实现缺陷,允许IP包自身携带路由选择选项,这将允许攻击者绕过某些安全检验的网关,或者被用来探测网络环境。 在企业网关上强烈建议设置关闭或过绿丢弃IP源路由选项数据包。这个功能在调试网络的时候很有用,但是在真正的实际应用中,有可能造成一些麻烦和危险)

rp_filter : BOOLEAN
默认值为False

1 - 通过反向路径回溯进行源地址验证(在RFC1812中定义)。对于单穴主机和stub网络路由器推荐使用该选项。
0 - 不通过反向路径回溯进行源地址验证。
默认值为0,但某些发布在启动时自动将其打开。 (router默认会路由所有东西﹐就算该封包'显然'不属於我们的网路的。常见的例子﹐莫过於将私有 IP 泄漏到 internet 上去。假如某个界面﹐其上设定的网络地址段為
195.96.96.0/24﹐那么理论上不会有212.64.94.1 这样的地址段封包会到达这个界面上。许多人都不想转发非本网段的数据包﹐因此核心设计者也打开了方便之门。在 /proc 裡面有些档案﹐透过它们您可以让核心為您做到这点。此方法被称為 "逆向路径过滤(Reverse Path Filtering)"。基本上﹐假如对此封包作出的回应﹐不是循其进入的界面送出去﹐那它就被置之不理。)


arp_filter : BOOLEAN
默认值为False
1 -允许多个网络介质位于同一子网段内,每个网络界面依据是否内核指派路由该数据包经过此界面来确认是否回答ARP查询(这个实现是由来源地址确定路由的时候决定的),换句话说,允许控制使用某一块网卡(通常是第一块)回应arp询问。(做负载均衡的时候,可以考虑用
echo 1 > /proc/sys/net/ipv4/conf/all/arp_filter
这样的方式就可以解决,当然 利用
echo 2 /proc/sys/net/ipv4/conf/all/arp_announce
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
两条命令配合使用更好,因为arp_announcearp_ignore 似乎是对arp_filter的更细节控制的实现。)


0 -默认值,内核设置每个网络界面各自应答其地址上的arp询问。这项看似会错误的设置却经常能非常有效,因为它增加了成功通讯的机会。在Linux主机上,每个IP地址是网络界面独立的,而非一个复合的接口。只有在一些特殊的设置的时候,比如负载均衡的时候会带来麻烦。
all/ 或者{interface}/至少有一个True即可生效。(简单来说,就是同一Linux上,如果有某些原因,有2块网卡必须设置为同一网段,那么默认情况下,会有一块工作,而另外一块不工作或者内核频繁报告错误,这个时候就需要打开这个选项了)


arp_announce : INTEGER
默认为0

对网络接口上本地IP地址发出的ARP回应作出相应级别的限制:


确定不同程度的限制,宣布对来自本地源IP地址发出Arp请求的接口
0 - (默认) 在任意网络接口上的任何本地地址
1 -尽量避免不在该网络接口子网段的本地地址. 当发起ARP请求的源IP地址是被设置应该经由路由达到此网络接口的时候很有用.此时会检查来访IP是否为所有接口上的子网段内ip之一.如果改来访IP不属于各个网络接口上的子网段内,那么将采用级别2的方式来进行处理.
2 - 对查询目标使用最适当的本地地址.在此模式下将忽略这个IP数据包的源地址并尝试选择与能与该地址通信的本地地址.首要是选择所有的网络接口的子网中外出访问子网中包含该目标IP地址的本地地址. 如果没有合适的地址被发现,将选择当前的发送网络接口或其他的有可能接受到该ARP回应的网络接口来进行发送


all/{interface}/两者同时比较,取较大一个值生效.


提高约束级别有益于从指定的目标接受应答,而降低级别可以给予更多的arp查询者以反馈信息(关于arp代理这一段我普遍翻译地不好,去啃一下tcp/ip bible的卷一,然后再翻译吧)


arp_ignore : INTEGER
默认为0
定义对目标地址为本地IP的ARP询问不同的应答模式


0 - (默认值): 回应任何网络接口上对任何本地IP地址的arp查询请求(比如eth0=192.168.0.1/24,eth1=10.1.1.1/24,那么即使eth0收到来自10.1.1.2这样地址发起的对10.1.1.1 的arp查询也会回应--而原本这个请求该是出现在eth1上,也该有eth1回应的)


1 - 只回答目标IP地址是来访网络接口本地地址的ARP查询请求(比如eth0=192.168.0.1/24,eth1=10.1.1.1/24,那么即使eth0收到来自10.1.1.2这样地址发起的对192.168.0.1的查询会回答,而对10.1.1.1 的arp查询不会回应)
2 -只回答目标IP地址是来访网络接口本地地址的ARP查询请求,且来访IP必须在该网络接口的子网段内(比如eth0=192.168.0.1/24,eth1=10.1.1.1/24,eth1收到来自10.1.1.2这样地址发起的对192.168.0.1的查询不会回答,而对192.168.0.2发起的对192.168.0.1的arp查询会回应)
3 - 不回应该网络界面的arp请求,而只对设置的唯一和连接地址做出回应(do not reply for local addresses configured with scope host,only resolutions for global and link addresses are replied 翻译地似乎不好,这个我的去问问人)
4-7 - 保留未使用
8 -不回应所有(本地地址)的arp查询


all/{interface}/两者同时比较,取较大一个值生效.


tag : INTEGER
默认为0
你可以写一些,可以视需要而定.(没有明白这个是什么作用,以后补充)



以后如果有机会,我会把route部分的设置也翻译了。 通过翻译以及了解相关协议的过程中,我本人也学习到了很多,也了解到了linux在一些方面还存在着的不足,比如linux无法设置定期ARP清理的时间,linux的sysctl可控制参数比bsd来弱了很多(后者基本上是除了kernel的编译参数外,都可以通过sysctl调整).也有不少比大多数unix优秀的地方,比如TIME_WAIT的超时设置,在AIX,Tru64 UNIX里就没有.而且linuxTCP序列号本身就是依照RFC1948实现的(RFC1948 协议提出了一个加强的随机TCP序列号生成算法,启用RFC 1948支持将时TCP序列号能难以被预测,从而防止IPSpoof攻击和TCP任务劫持攻击产生。)

http://skylove.study-area.org/blog/2006/07/verycd.html




==============IP、ICMP===========


ip_local_port_range: (两个INTEGER)
定于TCP和UDP使用的本地端口范围,第一个数是开始,第二个数是最后端口号,默认值依赖于系统中可用的内存数:
> 128Mb 32768-61000
< 128Mb 1024-4999 or even less.
该值决定了活动连接的数量,也就是系统可以并发的连接数(做nat的时候,我将它设置为了1024 65530 工作正常)


ip_nonlocal_bind : BOOLEAN
默认值是0
如果您想让应用程式能够捆绑到一个不属於该系统的位址﹐就需要设定这裡。(当机器使
用非固定/动态的网络连接的时候,或者离线调试程序的时候,当线路断掉之后﹐该服务仍可啟动而且捆绑到特定的位址之上。)


ip_dynaddr : BOOLEAN
默认值是0
假如甚至为0值,那么将支持动态地址.如果是设置为>1的值,将在动态地址改写的时候发一条内核消息。(如要用动态界面位址做 dail-on-demand ﹐那就设定它。一旦请求界面起来之
后﹐所有看不到回应的本地 TCP socket 都会重新捆绑(rebound)﹐以获得正确的位址。
假如遇到该网络界面的连线不工作﹐但重新再试一次却又可以的情形﹐设定这个可解决这
个问题。)


icmp_echo_ignore_allBOOLEAN
icmp_echo_ignore_broadcastsBOOLEAN
默认值是0

如果任何一个设置为true(>0)则系统将忽略所有发送给自己的ICMP ECHO请求或那些广播地址的请求。(现在网络上很多病毒/木马自动发起感染攻击是先用icmp的echo方式判断对方是否存活,因此开启该值,会降低一些被骚扰的可能性。但由于禁止了icmp,就无法ping到该机器了,因此网络管理员也没有办法判断机器是否存活了,所以可以考虑用netfilter/iptables来完成该工作会更有所选择针对性.icmp_echo_ignore_all 是禁止所有的icmp包,而icmp_echo_ignore_broadcasts是禁止了所有的广播包)


icmp_ratelimit : INTEGER
默认值是100 Jiffie
限制发向特定目标的匹配icmp_ratemask的ICMP数据报的最大速率。0表示没有任何限制,否则表示jiffies数据单位中允许发送的个数。(如果在icmp_ratemask进行相应的设置Echo Request的标志位掩码设置为1,那么就可以很容易地做到ping回应的速度限制了)


icmp_ratemask : INTEGER
在这里匹配的ICMP被icmp_ratelimit参数限制速率.
匹配的标志位: IHGFEDCBA9876543210
默认的掩码值: 0000001100000011000 (6168)
关于标志位的设置,可参考 源程序目录/include/linux/icmp.h



0 Echo Reply
3 Destination Unreachable *
4 Source Quench *
5 Redirect
8 Echo Request
B Time Exceeded *
C Parameter Problem *
D Timestamp Request
E Timestamp Reply
F Info Request
G Info Reply
H Address Mask Request
I Address Mask Reply


* 号的被默认限速(见上表mask)



icmp_ignore_bogus_error_responses : BOOLEAN
默认值是0
某些路由器违背RFC1122标准,其对广播帧发送伪造的响应来应答。这种违背行为通常会被以告警的方式记录在系统日志中。如果该选项设置为True,内核不会记录这种警告信息。(我个人而言推荐设置为1)

 

http://skylove.study-area.org/blog/2006/07/linuxip_115417139458879727.html





ip_forwardBOOLEAN
0 - 关闭(默认值)
非0值 - 打开ip转发
在网络本地接口之间转发数据报。该参数非常特殊,对该参数的修改将导致其它所有相关配置参数恢复其默认值(对于主机参阅RFC1122,对于路由器参见RFC1812)(在其他一些操作系统中,这个参数不是boolean型,而是INTEGER型,设置为0为不转发,1为根据接口情形决定是否转发,2是始终转发)

ip_default_ttlINTEGER
默认值为 64
表示IP数据报的Time To Live值(在网络传递中,每经过一"跳",该值减少1,当ttl为0的时候,丢弃该包.该值越大,即在网络上可以经过的路由器设备的数量越多,但一个错误的包,也会越发浪费生存周期.根据目前的实际情形而看,设置为32已经足够普通网络访问Internet的需求了)

ip_no_pmtu_discBOOLEAN
默认值为FALSE(0)
关闭路径MTU探测(典型的瓶颈原理,一次成功的传输中,mtu是由网络上最"窄"的位置决定的.如果IP层有一个数据报要传,而且数据的长度比链路层的MTU还大,那么IP层就需要进行分片(fragmentation),把数据报分成若干片,这样每一片都小于MTU。
几种常见网络的MTU值:



超通道         65535
16Mb/ s令牌网(IBM)   17914
4Mb/ s令牌网(IEEE 802.5) 4464
FDDI          4352
以太网         1500
IEEE 802.3/802.2     1492
X.25          576
点对点(低延时)     296




ipfrag_high_threshINTEGER
默认值为262144
用来组装分段的IP包的最大内存量。两个文件分别表示用于重组IP分段的内存分配最低值和最高值,一旦达到最高内存分配值,其它分段将被丢弃,直到达到最低内存(ipfrag_low_thresh 见下文)分配值。(根据我个人理解,就是达到最高后,就"关门打狗",直到处理到最低值的时候才又开门放分段的ip包进来处理.如果最高/最低差距过小,很可能很快又达到限制又开始丢弃包;而设置过大,又会造成某段时间丢包时间持续过久.因此需要适当地考虑,默认值中给出的最低/最高比率值为3/4.此外补充说明,kernel中,对内存的使用单位,都是以byte为单位的.当TCP数据包传输发生错误时,开始碎片整理。有效的数据包保留在内存,同时损坏的数据包被转发。我在1G内存的NAT机器上,分别设置最低为262144,最高为393216)


ipfrag_low_threshINTEGER
默认值为196608
参见ipfrag_high_thresh。

ipfrag_timeINTEGER
默认值为30
保存一个IP分片在内存中的时间。

inet_peer_thresholdINTEGER
默认值为65664
INET对端存储器某个合适值,当超过该阀值条目将被丢弃。该阀值同样决定生存时间以及废物收集通过的时间间隔。条目越多﹐存活期越低﹐GC 间隔越短(GC=Grabage Collection 废物收集?默认值65664=65536 + 128 是怎么得来的呢?看include/net/inetpeer.h struct inet_peer的内容,是为了IP ROUTE更快,缓冲对方IP的信息,一个对方IP一个记录.该值与
inet_peer_gc_maxtime
inet_peer_gc_mintime
inet_peer_maxttl
inet_peer_minttl
inet_peer_threshold
参数都是用来控制这个cache的大小的。似乎这个cache消耗比较大,在CU上有朋友提到过在一个26M的嵌入式Linux中,这个cache就用到了1M多内存)


inet_peer_minttlINTEGER
默认值为120

条目的最低存活期。在重组端必须要有足够的碎片(fragment)存活期。这个最低存活期必须保证缓冲池容积是否少于 inet_peer_threshold。该值以 jiffies为单位测量。(每次整理的时候,会考虑小于inet_peer_minttl 的ip条目一定保存,而大于inet_peer_maxttl时间设置的ip条目会被释放)

inet_peer_maxttlINTEGER
默认值为600

条目的最大存活期。在此期限到达之后﹐如果缓冲池没有耗尽压力的话(例如﹐缓冲池中的条目数目非常少)﹐不使用的条目将会超时。该值以 jiffies为单位测量。


inet_peer_gc_mintimeINTEGER
默认值为10
废物收集(GC)通过的最短间隔。这个间隔会影响到缓冲池中内存的高压力。 该值以 jiffies为单位测量。(如果长期不整理,会cache很多条目,而整理的时间太频繁,又会给系统造成压力,这个值就是确定最小整理周期间隔的)

inet_peer_gc_maxtimeINTEGER
默认值为120
废物收集(GC)通过的最大间隔,这个间隔会影响到缓冲池中内存的低压力。 该值以 jiffies为单位测量。



Jiffie: 内核使用的内部时间单位,在i386系统上大小为1/100s,在Alpha中为1/1024S。在/usr/include/asm/param.h中的HZ定义有特定系统的值。

http://skylove.study-area.org/blog/2006/07/linuxip.html




    摘要:

tcp_syn_retriesINTEGER
默认值是5

对于一个新建连接,内核要发送多少个 SYN 连接请求才决定放弃。不应该大于255,默认值是5,对应于180秒左右时间。(对于大负载而物理通信良好的网络而言,这个值偏高,可修改为2.这个值仅仅是针对对外的连接,对进来的连接,是由tcp_retries1此处阅读全文