这里简单列举几点优化策略,本人的CentOS版本为5.4
1 . 安装CentOs的时候是最少化原则
什么是“最少化原则”?
1). 不需要的软件包不安装,如果日后有使用的需要,再安装。一般我只会安装以下6个软件包:
base
editors
development librarys
development tools
x software development
system tools
2).不需要的端口不开启,一般刚开始的时候只要开放22(SSH)端口就足够了。
3).不需要的服务不启动。
这里贴一个优化启动服务的脚本,这个脚本的作用是在level 3的运行级别上,关闭除syslog crond sshd network外的其它服务
[root@mode ~]# for systemserver in `chkconfig --list|grep 3:on|awk '{print $1}'`;do chkconfig --level 3 $systemserver off; done
#执行需要开机自启动的服务:
[root@mode ~]# for systemserver in syslog crond sshd network;do chkconfig --level 3 $systemserver on;done
#执行完毕后用chkconfig --list 命令查看一下结果是否正确:
[root@mode ~]# chkconfig --list|grep 3:on
crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off
network 0:off 1:off 2:on 3:on 4:on 5:on 6:off
sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
syslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off
为什么要“最少化”呢?
1). 安全。由于不使用没必要的软件和服务,端口,可增强系统的安全性。
2) . 节约系统资源。大家都懂的。
曾经在朋友那里听说过他在生产的服务器居然看到了一个firefox进程占着十多M的系统资源,听到这个消息的时候雷得我外焦里嫩痛不欲生,服务器上装桌面干啥,用firefox干啥啊!!!
2. 加大文件描述符
对于内核而言,所有打开的文件都通过文件描述符引用。文件描述符是一个非负整数。当打开一个现有文件或创建一个新文件时,内核向进程返回一个文件描述符。当读或写一个文件时,使用open或creat返回的文件描述符标识该文件,将其作为参数传递给read或write。
查询文件描述符:
[root@mode cron]# ulimit -n
1024
修改文件描述符
方法一:只对当前的session有效
[root@mode cron]# ulimit -n 65536
[root@mode cron]# ulimit -n
65536
方法二:修改配置文件使永久生效
vi /etc/security/limits.conf
3 . 优化linux内核参数
在/etc/sysctl.conf 中加入:
net.ipv4.tcp_max_syn_backlog = 65536
net.core.netdev_max_backlog = 32768
net.core.somaxconn = 32768
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 2
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_max_orphans = 3276800
net.ipv4.ip_local_port_range = 1024 65535
【文章作者】曾健生
【作者邮箱】zengjiansheng1@126.com
【作者QQ】190678908
【作者博客】blog.youkuaiyun.com/newjueqi