Chinaunix首页 | 论坛 | 博客
  • 博客访问: 66716
  • 博文数量: 31
  • 博客积分: 72
  • 博客等级: 民兵
  • 技术积分: 178
  • 用 户 组: 普通用户
  • 注册时间: 2011-07-17 00:28
文章分类

全部博文(31)

文章存档

2013年(4)

2012年(12)

2011年(15)

我的朋友

分类:

2012-09-07 17:23:15

原文地址:linux内核参数 作者:TOMSYAN

 
  Linux内核参数--/proc

1)     Linux Proc
文件系统,通过对Proc文件系统进行调整,达到性能优化的目的。

2)     Linux性能断工具,介如何使用Linux断工具行性能断。
二、/proc/sys/kernel/
1)     /proc/sys/kernel/ctrl-alt-del
文件有一个二该值控制系在接收到ctrl+alt+delete键组如何反两个是:
零(0,表示捕ctrl+alt+delete,并将其送至 init 程序;将允可以安全地关和重启,就好象shutdown命令一
壹(1,表示不捕ctrl+alt+delete,将行非正常的关,就好象直接关闭电源一

缺省置:0
议设置:1,防止意外按下ctrl+alt+delete致系非正常重启。
2)     proc/sys/kernel/msgmax
文件指定了从一个送到另一个程的消息的最大度(bytes)。的消息传递是在内核的内存中的,不会交到磁上,所以如果增加该值将增加操作系所使用的内存数量。

缺省置:8192
3)     /proc/sys/kernel/msgmnb
文件指定一个消息列的最大度(bytes)。

缺省置:16384
4)     /proc/sys/kernel/msgmni
文件指定消息标识的最大数目,即系内最大多少个消息列。

缺省置:16
5)     /proc/sys/kernel/panic
文件表示如果内核错误kernel panic内核在重新引之前等待的时间(以秒为单位)。
零(0)秒,表示在生内核错误时将禁止自重新引

缺省置:0
6)     proc/sys/kernel/shmall
文件表示在任何刻,系上可以使用的共享内存的量(bytes)。

缺省置:2097152
7)     /proc/sys/kernel/shmmax
文件表示内核所允的最大共享内存段的大小(bytes)。

缺省置:33554432
议设置:物理内存 * 50%

实际可用最大共享内存段大小=shmmax * 98%,其中大2%用于共享内存构。
可以通过设shmmax,然后ipcs -l验证
8)     /proc/sys/kernel/shmmni
文件表示用于整个系的共享内存段的最大数目(个)。

缺省置:4096
9)     /proc/sys/kernel/threads-max
文件表示内核所能使用的线程的最大数目。

缺省置:2048
10) /proc/sys/kernel/sem
文件用于控制内核信号量,信号量是System VIPC用于的方法。

议设置:250 32000 100 128
第一列,表示每个信号集中的最大信号量数目。
第二列,表示系内的最大信号量数目。
第三列,表示每个信号的最大系操作数目。
第四列,表示系内的最大信号集数目。
所以,(第一列)*(第四列)=(第二列)

以上置,可以通过执ipcs -l验证
11) 。。。
三、/proc/sys/vm/
1)     /proc/sys/vm/block_dump
文件表示是否打开Block Debug模式,用于记录所有的写及Dirty Block写回作。

缺省置:0,禁用Block Debug模式
2)     /proc/sys/vm/dirty_background_ratio
文件表示数据到达系整体内存的百分比,此pdflush程把数据写回磁

缺省置:10
3)     /proc/sys/vm/dirty_expire_centisecs
文件表示如果数据在内存中时间过该值pdflush程在下一次将把些数据写回磁

缺省置:30001/100秒)
4)     /proc/sys/vm/dirty_ratio
文件表示如果生的数据到达系整体内存的百分比,此时进程自行把数据写回磁

缺省置:40
5)     /proc/sys/vm/dirty_writeback_centisecs
文件表示pdflush程周期性隔多久把数据写回磁

缺省置:5001/100秒)
6)     /proc/sys/vm/vfs_cache_pressure
文件表示内核回收用于directoryinode cache内存的向;缺省100表示内核将根据pagecacheswapcache,把directoryinode cache保持在一个合理的百分比;降低该值低于100,将致内核向于保留directoryinode cache;增加该值100,将致内核向于回收directoryinode cache

缺省置:100
7)     /proc/sys/vm/min_free_kbytes
文件表示Linux VM最低保留多少空内存(Kbytes)。

缺省置:724512M物理内存)
8)     /proc/sys/vm/nr_pdflush_threads
文件表示当前正在运行的pdflush程数量,在I/O负载高的情况下,内核会自增加更多的pdflush程。

缺省置:2(只
9)     /proc/sys/vm/overcommit_memory
文件指定了内核针对内存分配的策略,其可以是012
0
表示内核将检查是否有足的可用内存供程使用;如果有足的可用内存,内存申;否,内存申,并把错误返回给应程。
1
表示内核允分配所有的物理内存,而不管当前的内存状如何。
2表示内核允分配超所有物理内存和交间总和的内存(参照overcommit_ratio)。

缺省置:0
10) /proc/sys/vm/overcommit_ratio
文件表示,如果overcommit_memory=2,可以过载内存的百分比,通以下公式来算系整体可用内存。
可分配内存=+物理内存*overcommit_ratio/100

缺省置:50%
11) /proc/sys/vm/page-cluster
文件表示在写一次到swap区的候写入的面数量,0表示11表示22表示4

缺省置:323次方,8
12) /proc/sys/vm/swapiness
文件表示系统进行交的程度,数0-100)越高,越可能生磁

缺省置:60
13) legacy_va_layout
文件表示是否使用最新的32位共享内存mmap()统调用,Linux支持的共享内存分配方式包括mmap()PosixSystem VIPC
0 使用最新32mmap()统调用。
1
使用2.4内核提供的系统调用。

缺省置:0
14) nr_hugepages
文件表示系保留的hugetlb数。
15) hugetlb_shm_group
文件表示允使用hugetlb页创System VIPC共享内存段的系统组ID
16)
。。。
四、/proc/sys/fs/
1)     /proc/sys/fs/file-max
文件指定了可以分配的文件句柄的最大数目。如果用得到的错误消息声明由于打开
文件数已达到了最大,从而他不能打开更多文件,可能需要增加该值

缺省置:4096
议设置:65536
2)     /proc/sys/fs/file-nr
文件与 file-max 相关,它有三个
已分配文件句柄的数目
已使用文件句柄的数目
文件句柄的最大数目
文件是只的,用于示信息。
3)     
。。。
五、/proc/sys/net/core/
  下的配置文件主要用来控制内核和网络层的交互行
1
/proc/sys/net/core/message_burst
写新的警告消息所需的时间(以 1/10 为单位);在时间内系接收到的其它警告消息会被弃。用于防止某些企用消息淹没的人所使用的拒Denial of Service)攻

缺省置:505秒)
2
/proc/sys/net/core/message_cost
文件表示写每个警告消息相关的成本该值越大,越有可能忽略警告消息。

缺省置:5
3
/proc/sys/net/core/netdev_max_backlog
文件表示在每个网接口接收数据包的速率比内核些包的速率快,允送到列的数据包的最大数目。

缺省置:300
4
/proc/sys/net/core/optmem_max
文件表示每个套接字所允的最大冲区的大小。

缺省置:10240
5
/proc/sys/net/core/rmem_default
文件指定了接收套接字冲区大小的缺省(以字节为单位)。

缺省置:110592
6
/proc/sys/net/core/rmem_max
文件指定了接收套接字冲区大小的最大(以字节为单位)。

缺省置:131071
7
/proc/sys/net/core/wmem_default
文件指定了送套接字冲区大小的缺省(以字节为单位)。

缺省置:110592
8
/proc/sys/net/core/wmem_max
文件指定了送套接字冲区大小的最大(以字节为单位)。

缺省置:131071
9
。。。
六、/proc/sys/net/ipv4/
1)     /proc/sys/net/ipv4/ip_forward
文件表示是否打开IP转发
0
,禁止
1
转发

缺省置:0
2)     /proc/sys/net/ipv4/ip_default_ttl
文件表示一个数据的生存周期(Time To Live),即最多经过多少路由器。

缺省置:64
增加该值会降低系性能。
3)     /proc/sys/net/ipv4/ip_no_pmtu_disc
文件表示在全局范内关路径MTU功能。

缺省置:0
4)     /proc/sys/net/ipv4/route/min_pmtu
文件表示最小路径MTU的大小。

缺省置:552
5)     /proc/sys/net/ipv4/route/mtu_expires
文件表示PMTU信息存多长时间(秒)。

缺省置:600(秒)
6)     /proc/sys/net/ipv4/route/min_adv_mss
文件表示最小的MSSMaximum Segment Size)大小,取决于第一跳的路由器MTU

缺省置:256bytes
6.1 IP Fragmentation
1)     /proc/sys/net/ipv4/ipfrag_low_thresh/proc/sys/net/ipv4/ipfrag_low_thresh
两个文件分表示用于重IP分段的内存分配最低和最高,一旦达到最高内存分配,其它分段将被弃,直到达到最低内存分配

缺省置:196608ipfrag_low_thresh
     262144ipfrag_high_thresh
2)     /proc/sys/net/ipv4/ipfrag_time
文件表示一个IP分段在内存中保留多少秒。

缺省置:30(秒)
6.2 INET Peer Storage
1)     /proc/sys/net/ipv4/inet_peer_threshold
INET
端存器某个合适,当超过该阀值条目将被弃。该阀值决定生存
时间以及物收集通时间间隔。条目越多,存活期越低,GC 隔越短。

缺省置:65664
2)     /proc/sys/net/ipv4/inet_peer_minttl
条目的最低存活期。在重端必要有足的碎片(fragment)存活期。个最低
存活期必证缓冲池容是否少于 inet_peer_threshold该值 jiffies
量。

缺省置:120
3)     /proc/sys/net/ipv4/inet_peer_maxttl
条目的最大存活期。在此期限到达之后,如果冲池没有耗尽力的(例如:
冲池中的条目数目非常少),不使用的条目将会超该值 jiffies为单量。

缺省置:600
4)     /proc/sys/net/ipv4/inet_peer_gc_mintime
物收集(GC)的最短隔。隔会影响到冲池中内存的高力。 该值
jiffies为单量。

缺省置:10

2006-10-31 16:33
清水
5)     /proc/sys/net/ipv4/inet_peer_gc_maxtime
物收集(GC)的最大隔,隔会影响到冲池中内存的低力。 该值
jiffies为单量。

缺省置:120
6.3 TCP Variables
1)     /proc/sys/net/ipv4/tcp_syn_retries
文件表示本机向外TCP SYN接超的次数,不应该高于255该值仅仅针对外出的接,来的接由tcp_retries1控制。

缺省置:5
2)     /proc/sys/net/ipv4/tcp_keepalive_probes
文件表示TCP接前,行最大TCP保持侦测的次数。保持
SO_KEEPALIVE
套接字选项被打开才被送。

缺省置:9(次)
3)     /proc/sys/net/ipv4/tcp_keepalive_time
文件表示从不再送数据到向接上送保持接信号之所需的秒数。

缺省置:72002
4)     /proc/sys/net/ipv4/tcp_keepalive_intvl
文件表示TCP率,乘以tcp_keepalive_probes表示断开没有相TCP接的时间

缺省置:75(秒)
5)     /proc/sys/net/ipv4/tcp_retries1
  文件表示放弃回一个TCP求前行重的次数。
  
  缺省置:3
6)     /proc/sys/net/ipv4/tcp_retries2
  文件表示放弃在已建立通下的一TCP数据包前行重的次数。
  
  缺省置:15
7)     /proc/sys/net/ipv4/tcp_orphan_retries
在近端TCP接之前,要行多少次重。默认值 7 个,相当于 50
16
RTO 而定。如果您的系负载很大的web器,那么也
要降低该值这类 sockets 可能会耗大量的源。另外参考
tcp_max_orphans

8)     /proc/sys/net/ipv4/tcp_fin_timeout
于本端断开的socket接,TCP保持在FIN-WAIT-2时间方可能
会断开接或一直不接或不可料的程死亡。默认值为 60 秒。去在
2.2
版本的内核中是 180 秒。您可以该值,但需要注意,如果您的机器为负
很重的web器,您可能要冒内存被大量无效数据风险
FIN-WAIT-2 sockets
的危性低于 FIN-WAIT-1,因最多只吃 1.5K
的内存,但是它存在时间。另外参考 tcp_max_orphans

缺省置:60(秒)
9)     /proc/sys/net/ipv4/tcp_max_tw_buckets
在同理的最大timewait sockets 数目。如果超此数的
time-wait socket
会被立即砍除并且示警告信息。之所以要个限制,
了抵御那些简单 DoS ,千万不要人的降低个限制,不,如果
条件需要比默认值更多,可以提高它(许还要增加内存)

缺省置:180000
10) /proc/sys/net/ipv4/tcp_tw_recyle
打开快速 TIME-WAIT sockets 回收。除非得到技术专家的建或要求,不要随
意修改

缺省置:0
11) /proc/sys/net/ipv4/tcp_tw_reuse
文件表示是否允重新TIME-WAITsocket用于新的TCP接。

缺省置:0
12) /proc/sys/net/ipv4/tcp_max_orphans
所能理不属于任何程的TCP sockets最大数量。假如超过这个数量,那
么不属于任何程的接会被立即reset,并同时显示警告信息。之所以要
个限制,了抵御那些简单 DoS ,千万不要依赖这个或是人的降
个限制。

缺省置:8192
13) /proc/sys/net/ipv4/tcp_abort_on_overflow
当守护进程太忙而不能接受新的接,就向reset消息,默认值false
意味着当溢出的原因是因一个偶然的猝,那么接将恢复状。只有在你确
信守护进程真的不能完成才打开该选项该选项会影响客的使用。

缺省置:0
14) /proc/sys/net/ipv4/tcp_syncookies
文件表示是否打开TCP同步标签(syncookie),内核必打开了 CONFIG_SYN_COOKIES项进编译同步标签(syncookie)可以防止一个套接字在有试图连接到达引起过载

缺省置:0
15) /proc/sys/net/ipv4/tcp_stdurg
使用 TCP urg pointer 字段中的主机求解功能。大部份的主机都使用老旧的
BSD
,因此如果您在 Linux 打开它,或会致不能和它正确沟通。

缺省置:0
16) /proc/sys/net/ipv4/tcp_max_syn_backlog
于那些依然得客端确求,需要保存在列中最大数目。
128Mb 内存的系,默认值 1024,低于 128Mb 则为 128如果
常出现过载,可以尝试增加个数字。警告!假如您将此值设为大于
1024
,最好修改 include/net/tcp.h 里面的 TCP_SYNQ_HSIZE,以保持
TCP_SYNQ_HSIZE*16 0)
或者bytes-bytes/2^(-tcp_adv_win_scale)(
tcp_adv_win_scale 128Mb 32768-610000)将忽略所有自己
ICMP ECHO求或那些广播地址的求。

缺省置:1024
17) /proc/sys/net/ipv4/tcp_window_scaling
文件表示tcp/ip的滑窗口大小是否可。参数值为尔值1表示可0表示不可tcp/ip通常使用的窗口最大可达到 65535 于高速网该值可能太小,这时候如果启用了功能,可以使tcp/ip窗口大小增大数个数量,从而提高数据传输的能力。

缺省置:1
18) /proc/sys/net/ipv4/tcp_sack
文件表示是否启用有选择答(Selective Acknowledgment),可以通选择答乱序接收到的文来提高性能(这样可以让发送者只失的文段);(于广域网通信来选项应该启用,但是会增加 CPU 的占用。

缺省置:1
19) /proc/sys/net/ipv4/tcp_timestamps
文件表示是否启用以一种比超更精确的方法( RFC 1323)来启用 RTT 算;实现更好的性能应该启用选项

缺省置:1
20) /proc/sys/net/ipv4/tcp_fack
文件表示是否打开FACK塞避免和快速重功能。

缺省置:1
21) /proc/sys/net/ipv4/tcp_dsack
文件表示是否允TCP两个完全相同SACK

缺省置:1
22) /proc/sys/net/ipv4/tcp_ecn
文件表示是否打开TCP的直接塞通告功能。

缺省置:0
23) /proc/sys/net/ipv4/tcp_reordering
文件表示TCP流中重排序的数据最大数量。

缺省置:3
24) /proc/sys/net/ipv4/tcp_retrans_collapse
文件表示于某些有bug的打印机是否提供针对bug的兼容性。

缺省置:1
25) /proc/sys/net/ipv4/tcp_wmem
文件包含3个整数,分是:mindefaultmax
Min
TCP socket留用于冲的内存最小。每个TCP socket都可以使用它。
Default
TCP socket留用于冲的内存数量,默情况下该值会影响其它协议使用的net.core.wmemdefault,一般要低于net.core.wmemdefault
MaxTCP socket留用于冲的内存最大该值不会影响net.core.wmem_max,今天选择参数SO_SNDBUF不受该值影响。默认值为128K

缺省置:4096 16384 131072
26) /proc/sys/net/ipv4/tcp_rmem
文件包含3个整数,分是:mindefaultmax
Min
TCP socket留用于接收冲的内存数量,即使在内存出现紧张情况下TCP socket都至少会有么多数量的内存用于接收冲。
Default
TCP socket留用于接收冲的内存数量,默情况下该值影响其它协议使用的 net.core.wmemdefault该值决定了在tcp_adv_win_scaletcp_app_wintcp_app_win 认值情况下,TCP 窗口大小65535
Max
TCP socket留用于接收冲的内存最大该值不会影响 net.core.wmemmax,今天选择参数 SO_SNDBUF不受该值影响。

缺省置:4096 87380 174760
27) /proc/sys/net/ipv4/tcp_mem
文件包含3个整数,分是:lowpressurehigh
Low
:当TCP使用了低于该值的内存面数TCP不会考虑释放内存。
Pressure:当TCP使用了超过该值的内存面数量TCP试图稳定其内存使用,pressure模式,当内存消耗低于low值时则退出pressure
High
:允所有tcp sockets用于排队缓冲数据面量。
一般情况下是在系动时根据系内存数量算得到的。

缺省置:24576 32768 49152
28) /proc/sys/net/ipv4/tcp_app_win
文件表示保留max(window/2^tcp_app_win, mss)数量的窗口由于冲。当0表示不需要冲。

缺省置:31
29) /proc/sys/net/ipv4/tcp_adv_win_scale
文件表示冲开bytes/2^tcp_adv_win_scale(如果tcp_adv_win_scale >; 0)或者bytes-bytes/2^(-tcp_adv_win_scale)(如果tcp_adv_win_scale <= 0)。

缺省置:2
6.4 IP Variables
1)     /proc/sys/net/ipv4/ip_local_port_range
文件表示TCPUDP协议打开的本地端口号。

缺省置:1024 4999
议设置:32768 61000
2)     /proc/sys/net/ipv4/ip_nonlocal_bind
文件表示是否允许进程邦定到非本地地址。

缺省置:0
3)     /proc/sys/net/ipv4/ip_dynaddr
参数通常用于使用接的情况,可以使系统动立即改ip包的源地址为该ip地址,同中断原有的tcp对话而用新地址重新出一个syn 包,开始新的tcp对话。在使用ip骗时参数可以立即改变伪装地址新的ip地址。文件表示是否允许动态地址,如果该值0,表示允;如果该值 大于1,内核将通log记录动态地址重写信息。

缺省置:0
4)     /proc/sys/net/ipv4/icmp_echo_ignore_all/proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
文件表示内核是否忽略所有的ICMP ECHO求,或忽略广播和多播求。
0
应请
1
忽略

缺省置:0
议设置:1
5)     /proc/sys/net/ipv4/icmp_ratelimit
6)     /proc/sys/net/ipv4/icmp_ratemask
7)     /proc/sys/net/ipv4/icmp_ignore_bogus_error_reponses
某些路由器RFC1122准,其广播帧发造的响答。背行
通常会被以告警的方式记录在系日志中。如果该选项设True,内核不会
记录这种警告信息。

缺省置:0
8)     /proc/sys/net/ipv4/igmp_max_memberships
文件表示多播中的最大成数量。

缺省置:20
6.5 Other Configuration
1)     /proc/sys/net/ipv4/conf/*/accept_redirects
   如果主机所在的网段中有两个路由器,你将其中一个置成了缺省网关,但是网关
   在收到你的ip时发现该ip包必须经过另外一个路由器,这时这个路由器就会
   一个所重定向”icmp包,告ip转发到另外一个路由器。参数值为
   1表示接收这类重定向icmp 信息,0表示忽略。在充当路由器的linux主机上缺
   省值为0,在一般的linux主机上缺省值为1。建将其改0以消除安全性患。
2)     /proc/sys/net/ipv4/*/accept_source_route
 是否接受含有源路由信息的ip包。参数值为尔值1表示接受,0表示不接受。在
 充当网关的linux主机上缺省值为1,在一般的linux主机上缺省值为0。从安全性角
 度出,建闭该功能。
3)     /proc/sys/net/ipv4/*/secure_redirects
 其安全重定向就是只接受来自网关的重定向”icmp包。参数就是
 用来安全重定向功能的。参数值为尔值1表示启用,0表示禁止,缺省
 启用。
4)     /proc/sys/net/ipv4/*/proxy_arp
 置是否上的arp行中。参数值为尔值1表示中0表示忽略,
 缺省值为0参数通常只充当路由器的linux主机有用。
七、性能化策略
7.1
基本
1)     
后台守护进
安装完后,系会默一些后台守护进程,有些并不是必需的;因此,关闭这程可以省一部分物理内存消耗。以root身份登,运行ntsysv中如下程:
iptables
network
syslog
random
apmd
xinetd
vsftpd
crond
local
修改完后,重新启
如此,系仅仅动选中的些守护进程。
2)     减少接数
6端,而实际上只需启3个即可;以root身份登,运行vi /etc/inittab,修改成如下:
# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
#4:2345:respawn:/sbin/mingetty tty4
#5:2345:respawn:/sbin/mingetty tty5
#6:2345:respawn:/sbin/mingetty tty6
如上所述,注456端。
3)     
。。。
7.2
络优
1)     
化系套接字冲区
net.core.rmem_max=16777216
net.core.wmem_max=16777216
2)     
TCP接收/冲区
net.ipv4.tcp_rmem=4096 87380 16777216
net.ipv4.tcp_wmem=4096 65536 16777216
3)     
化网络设备接收
net.core.netdev_max_backlog=3000
4)     
路由相关功能
net.ipv4.conf.lo.accept_source_route=0
net.ipv4.conf.all.accept_source_route=0
net.ipv4.conf.eth0.accept_source_route=0
net.ipv4.conf.default.accept_source_route=0

net.ipv4.conf.lo.accept_redirects=0
net.ipv4.conf.all.accept_redirects=0
net.ipv4.conf.eth0.accept_redirects=0
net.ipv4.conf.default.accept_redirects=0

net.ipv4.conf.lo.secure_redirects=0
net.ipv4.conf.all.secure_redirects=0
net.ipv4.conf.eth0.secure_redirects=0
net.ipv4.conf.default.secure_redirects=0

net.ipv4.conf.lo.send_redirects=0
net.ipv4.conf.all.send_redirects=0
net.ipv4.conf.eth0.send_redirects=0
net.ipv4.conf.default.send_redirects=0
5)     
TCP协议栈
打开TCP SYN cookie选项,有助于保器免受SyncFlood
net.ipv4.tcp_syncookies=1

打开TIME-WAIT套接字重用功能,于存在大量接的Web器非常有效。
net.ipv4.tcp_tw_recyle=1
net.ipv4.tcp_tw_reuse=1

减少FIN-WAIT-2接状时间,使系可以理更多的接。
net.ipv4.tcp_fin_timeout=30

减少TCP KeepAlive侦测时间,使系可以理更多的接。
net.ipv4.tcp_keepalive_time=1800

增加TCP SYN度,使系可以理更多的并发连接。
net.ipv4.tcp_max_syn_backlog=8192
阅读(529) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~