linux如何调优?
1. 关闭SELLinux功能,美国国家安全局对于强制访问控制实现,生产场景也是关闭
cat /etc/selinux/config | grep '^SELINUX=' # 查看 SELINUX 配置,为enforcing 则开启状态 sed "s#SELINUX=enforcing#SELINUX=disabled#g" /etc/selinux/config # 预浏览修改后结果 sed -i "s#SELINUX=enforcing#SELINUX=disabled#g" /etc/selinux/config # 修改 getenforce # 查看 SELlinux 级别 setenforce # 用户命令行管理SELinux的级别,后面的数字设置对应的级别 setenforce 0 # 更改状态, 让sel关闭
2. 设定运行级别(文本模式)
把linux的运行状态用数字表示,企业应用级别为 3 级别
cat /etc/inittab # 浏览运行级别,最后一行 id:3:initdefault: 说明当前是 3 运行级别
0 关机
1 系统出故障,单用户
2 多用户连接机制
3 完整的多用户模式
4 保留没有使用
5 桌面模式
6 重启
查询命令
runlevel 查询当前运行级别
init n 切换运行级别(n是 0 到 6)
init 0 关机
init 6 重启(常用1 和 3)
3. 关闭防火墙
/etc/init.d/iptables stop # 关闭防火墙 /etc/init.d/iptables status # 查询当前防火墙状态 chkconfig iptables off # 关闭开机自启动
4. linux中文显示
cat /etc/sysconfig/i18n # 查询当前语言设置,默认LANG=en_US.UTF-8 sed 's#LANG=en_US.UTF-8#LANG=zh_CN.UTF-8#g' /etc/sysconfig/i18n # 预浏览结果 sed -i 's#LANG=en_US.UTF-8#LANG=zh_CN.UTF-8#g' /etc/sysconfig/i18n # 修改 . /etc/sysconfig/i18n # 让修改生效 # 不推荐更改,习惯使用英文
5. 设置账号超时时间
export TMOUT=10 # 10秒钟没有操作,退出,工作中设置为10~20 分钟
6. 配置历史记录
export HISTSIZE=5 # 临时控制 history 查询历史记录为5条 export HISTFILESSIZE=5 # 临时设置历史文件目录的长度 cat ~/.bash_history # 查询当前用户历史命令记录 # 写入 /etc/profile 文件中 HISTSIZE 字段,保存并 source 一下,永久生效,缩短历史记录,安全,防止让别人看见你在操作什么,留的信息越少越好
7. 隐藏linux版本信息显示
cat /etc/issue /etc/issue.net # linux 版本信息 >/etc/issue # 清空 版本信息 >/etc/issue.net # 清空版本信息 # 记住不要减少东西,这是系统需要的数据文件,可能会出故障,清空就行
8. 精简开机系统启动
企业新装linux系统,需要启动一下服务:
1. sshd 远程连接服务,必须
2. rsyslog 日志相关软件
3. network 系统启动时,激活各个网络接口,必须
4. crond 定时任务,备份
5. systat 包含检测系统性能及效率的一组工具
iostat CPU使用率以及硬盘吞吐效率
mpstat 单个或多个处理器相关数据
sar 收集、报告并存储系统活跃的信息
这5个是生成环境必须保留的开机自启动服务
如何启动这5个服务并关掉其他服务?
1. 关闭不需要的,保留服务默认开启状态
chkconfig --list|grep "3:on"|egrep -v 'sshd|sysstat|crond|network|rsyslog'|awk '{print "chkconfig",$1,"off"}'|bash # 先查询3级别启动的服务,过滤出不想要的服务,通过awk进行取出名字并进行字符拼接,然后把这些字符命令交个 bash 进行执行 chkconfig --list|grep "3:on" # 检查结果
2. 全关,开启需要的
chkconfig --list|grep '3:on'|awk '{print "chkconfig",$1,"off"}'|bash # 关闭所有 3级别自启动的服务 chkconfig --list|egrep "sshd|crond|network|rsyslog|sysstat"|awk '{print "chkconfig",$1,"on"}'|bash # 启动想要开启的服务 chkconfig --list|grep "3:on" # 检查结果