当前位置: 代码迷 >> 综合 >> Linux内核参数-proc
  详细解决方案

Linux内核参数-proc

热度:32   发布时间:2023-12-15 09:31:56.0
【IT168 技术】  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进程在下一次将把这些数据写回磁盘。

  缺省设置:3000(1/100秒)

  4) /proc/sys/vm/dirty_ratio

  该文件表示如果进程产生的脏数据到达系统整体内存的百分比,此时进程自行把脏数据写回磁盘。

  缺省设置:40

  5)

  /proc/sys/vm/dirty_writeback_centisecs

  该文件表示pdflush进程周期性间隔多久把脏数据写回磁盘。

  缺省设置:500(1/100秒)

  6) /proc/sys/vm/vfs_cache_pressure

  该文件表示内核回收用于directory和inode cache内存的倾向;缺省值100表示内核将根据pagecache和swapcache,把directory和inode cache保持在一个合理的百分比;降低该值低于100,将导致内核倾向于保留directory和inode cache;增加该值超过100,将导致内核倾向于回收directory和inode cache。

  缺省设置:100

  7) /proc/sys/vm/min_free_kbytes

  该文件表示强制Linux VM最低保留多少空闲内存(Kbytes)。

  缺省设置:724(512M物理内存)

  8) /proc/sys/vm/nr_pdflush_threads

  该文件表示当前正在运行的pdflush进程数量,在I/O负载高的情况下,内核会自动增加更多的pdflush进程。

  缺省设置:2(只读)

  9) /proc/sys/vm/overcommit_memory

  该文件指定了内核针对内存分配的策略,其值可以是0、1、2。

  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表示1页,1表示2页,2表示4页。

  缺省设置:3(2的3次方,8页)

  12) /proc/sys/vm/swapiness

  该文件表示系统进行交换行为的程度,数值(0-100)越高,越可能发生磁盘交换。

  缺省设置:60

  13) legacy_va_layout

  该文件表示是否使用最新的32位共享内存mmap()系统调用,Linux支持的共享内存分配方式包括mmap(),Posix,System VIPC。

  0, 使用最新32位mmap()系统调用。

  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)攻击。

  缺省设置:50(5秒)

  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

 

摘自:http://os.chinaunix.net/a2012/0131/1305/000001305007.shtml