Linux服务器内核参数优化

    Linux内核参数调优主要是通过修改/proc伪文件系统和/etc/sysctl.conf配置文件的参数来实现的。

    /proc目录结构如下:

/proc/driver        与驱动器相关的信息

/proc/fs            文件系统参数

/proc/net           网络信息

/proc/pid           每个进程的信息

/proc/sys           内核参数

/proc/scsi          与scsi相关的信息

/proc/meminfo        内存相关信息

/proc/cpuinfo        CPU相关信息

/proc/loadavg        系统负载

/proc/modules        系统加载的模块或驱动

/proc/partitions       系统分区信息

/proc/version        内核版本信息

/proc/stat            CPU利用率、磁盘、内存页

/proc/devices        可用设备列表

/proc/sys/kernel    通用内核参数

/proc/sys/vm        内存管理参数

/proc/sys/dev       与设备相关的信息

/proc/sys/net       网络信息

  某个进程目录下的文件说明如下:

/proc/pid/fd       进程打开的文件描述符

/proc/pid/exe        进程的可执行文件

/proc/pid/cmdline    当前进程运行的一些参数

/proc/pid/environ    当前进程的环境变量

/proc/pid/status     当前进程的基本状态

vim /etc/sysctl.conf

net.ipv4.tcp_syncookies = 1            #开启SYN Cookies。可以防范少量的SYN***。

net.ipv4.ip_local_port_range = 10000 65535 #设置向外连接的端口范围

net.ipv4.route.gc_timeout = 100        #路由缓存刷新频率

net.core.netdev_max_backlog = 16384    #允许排队更多的报文

net.core.somaxconn = 16384             #指定更大的accept队列backlog

net.ipv4.tcp_max_syn_backlog = 16384   #增加SYN队列长度

net.ipv4.tcp_synack_retries = 1        #重新发送响应的次数

net.ipv4.tcp_retries2 = 5              #向远程主机重新发送数据的次数

net.ipv4.tcp_keepalive_time = 1200     #内核向远程主机发送Keepalive消息的频度

net.ipv4.tcp_keepalive_intvl = 30      #内核向远程主机发送探测消息的间隔

    系统优化脚本:

#!/bin/bash

yum -y groupinstall "Development tools"

cd /usr/local/src

wget https://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

rpm -ivh epel-release-6-8.noarch.rpm

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

sed -i 's/start on control-alt-delete/#start on control-alt-delete/' /etc/init/control-alt-delete.conf

sed -i 's@exec /sbin/shutdown -r now "Control-Alt-Delete pressed"@#exec /sbin/shutdown -r now "Control-Alt-Delete pressed"@' /etc/init/control-alt-delete.conf

service iptables stop

chkconfig iptables off

ulimit -SHn 65534

echo "ulimit -SHn 65534" >> /etc/rc.local

cat >> /etc/sysctl.conf << EOF

net.ipv4.tcp_syncookies = 1

net.ipv4.ip_local_port_range = 10000 65535

net.ipv4.route.gc_timeout = 100

net.core.netdev_max_backlog = 16384

net.core.somaxconn = 16384

net.ipv4.tcp_max_syn_backlog = 16384

net.ipv4.tcp_synack_retries = 1

net.ipv4.tcp_retries2 = 5

net.ipv4.tcp_keepalive_time = 1200

net.ipv4.tcp_keepalive_intvl = 30

EOF

/sbin/sysctl -p

for i in `chkconfig | grep 3:on | awk '{print $1}'`

do

  chkconfig –level 3 $i off

done

for service in crond rsyslog sshd network

do

  chkconfig –level 3 $service on

done

reboot

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/182598.html

(0)
上一篇 2021年11月1日
下一篇 2021年11月1日

相关推荐

发表回复

登录后才能评论