优化centos(centos配置)
如何让CentOS服务器磁盘io性能翻倍centos
如何让CentOS服务器磁盘io性能翻倍
这一期我们来看一下有哪些办法可以减少linux下的文件碎片。主要是针对磁盘长期满负荷运转的使用场景(例如http代理服务器);另外有一个小技巧,针对互联网图片服务器,可以将io性能提升数倍。如果为服务器订制一个专用文件系统,可以完全解决文件碎片的问题,将磁盘io的性能发挥至极限。对于我们的代理服务器,相当于把io性能提升到3-5倍。
在现有文件系统下进行优化linux内核和各个文件系统采用了几个优化方案来提升磁盘访问速度。但这些优化方案需要在我们的服务器设计中进行配合才能得到充分发挥。
文件系统缓存linux内核会将大部分空闲内存交给虚拟文件系统,来作为文件缓存,叫做page cache。在内存不足时,这部分内存会采用lru算法进行淘汰。通过free命令查看内存,显示为cached的部分就是文件缓存了。
如果能找到当前使用场景下,文件被访问的统计特征,针对性的写一个淘汰算法,可以大幅提升文件缓存的命中率。对于http正向代理来说,一个好的淘汰算法可以用1GB内存达到lru算法100GB内存的缓存效果。如果不打算写一个新的淘汰算法,一般不需要在应用层再搭一个文件cache程序来做缓存。
【实用】CentOS 7系统优化脚本
作为一名运维人员,部署操作系统的任务经常重复,操作内容大同小异。为此,可以将相同的操作制作成统一执行的脚本,通过手动输入不同部分实现自动化操作,节省大量时间。最近发现了一款好用的shell源码,稍作修改后分享给大家。
脚本主要实现系统优化功能,包括修改字符集、关闭selinux、关闭防火墙、安装常用工具和加快ssh登录等。
脚本结构如下:
1.主菜单
2.二级菜单
主要实现系统优化,如修改字符集、关闭selinux、关闭防火墙、安装常用工具和加快ssh登录等功能。
脚本代码如下:
sh
#!/bin/sh
./etc/rc.d/init.d/functions
exportLANG=zh_CN.UTF-8
#一级菜单
menu1(){
clear
cat</etc/locale.conf</dev/null
echo'#firewall-cmd--state'
firewall-cmd--state
systemctldisablefirewalld.service&>/dev/null
echo'#systemctllist-unit-files|grepfirewalld'
systemctllist-unit-files|grepfirewalld
action"完成禁用firewalld,生产环境下建议启用!"/bin/true
echo"==========================================================="
sleep5
}
#精简开机启动
chkset(){
echo"=======================精简开机启动========================"
systemctldisableauditd.service
systemctldisablepostfix.service
systemctldisabledbus-org.freedesktop.NetworkManager.service
echo'#systemctllist-unit-files|grep-E"auditd|postfix|dbus-org\.freedesktop\.NetworkManager"'
systemctllist-unit-files|grep-E"auditd|postfix|dbus-org\.freedesktop\.NetworkManager"
action"完成精简开机启动"/bin/true
echo"==========================================================="
sleep2
}
#修改文件描述符
limitset(){
echo"======================修改文件描述符======================="
echo'*-nofile65535'>/etc/security/limits.conf
ulimit-SHn65535
echo"#cat/etc/security/limits.conf"
cat/etc/security/limits.conf
echo"#ulimit-Sn;ulimit-Hn"
ulimit-Sn;ulimit-Hn
action"完成修改文件描述符"/bin/true
echo"==========================================================="
sleep2
}
#安装常用工具及修改yum源
yumset(){
echo"=================安装常用工具及修改yum源==================="
yuminstallwget-y&>/dev/null
if[$?-eq0];then
cd/etc/yum.repos.d/
\cpCentOS-Base.repoCentOS-Base.repo.$(date+%F)
ping-c1mirrors.aliyun.com&>/dev/null
if[$?-eq0];then
wget-O/etc/yum.repos.d/CentOS-Base.repo
yumcleanall&>/dev/null
yummakecache&>/dev/null
else
echo"无法连接网络"
exit$?
fi
else
echo"wget安装失败"
exit$?
fi
yum-yinstallntpdatelsofnet-toolstelnetvimlrzsztreenmapncsysstat&>/dev/null
action"完成安装常用工具及修改yum源"/bin/true
echo"==========================================================="
sleep2
}
#优化系统内核
kernelset(){
echo"======================优化系统内核========================="
chk_nf=`cat/etc/sysctl.conf|grepconntrack|wc-l`
if[$chk_nf-eq0];then
cat>>/etc/sysctl.conf</dev/null
if[$?-eq0];then
/usr/sbin/
echo"*/5****/usr/sbin/ntpdatentp.aliyun.com&>/dev/null">>/var/spool/cron/root
else
echo"ntpdate安装失败"
exit$?
fi
action"完成设置时间同步"/bin/true
echo"==========================================================="
sleep2
}
#history优化
historyset(){
echo"========================history优化========================"
chk_his=`cat/etc/profile|grepHISTTIMEFORMAT|wc-l`
if[$chk_his-eq0];then
cat>>/etc/profile<<'EOF'
#设置history格式
exportHISTTIMEFORMAT="[%Y-%m-%d%H:%M:%S][`whoami`][`whoami|awk'{print$NF}'|sed-r's#[()]##g'`]:"
#记录shell执行的每一条命令
exportPROMPT_COMMAND='\ if[-z"$OLD_PWD"];then exportOLD_PWD=$PWD; fi; if[!-z"$LAST_CMD"&&["$(history1)"!="$LAST_CMD"];then logger-t`whoami`_shell_dir"[$OLD_PWD]$(history1)"; fi; exportLAST_CMD="$(history1)"; exportOLD_PWD=$PWD;' EOF
source/etc/profile
else
echo"优化项已存在。"
fi
action"完成history优化"/bin/true
echo"==========================================================="
sleep2
}
main(){
menu1
case$num1in
1) localeset selinuxset firewalldset chkset limitset yumset kernelset sshset restartset ntpdateset historyset;;
2) menu2
case$num2in
1) localeset;;
2) selinuxset;;
3) firewalldset;;
4) chkset;;
5) limitset;;
6) yumset;;
7) kernelset;;
8) sshset;;
9) restartset;;
10) ntpdateset;;
11) historyset;;
12) main;;
13) exit;;
*) echo'Pleaseselectanumberfrom[1-13].';;
esac
;;
3) exit;;
*) echo'Err:Pleaseselectanumberfrom[1-3].' sleep3 main;;
esac
}
main$*
将脚本保存为init.sh,赋予执行权限并执行即可。
chmod+xinit.sh&&./init.sh
通过一键命令执行,同样能达到脚本的效果:
bash-c"$(curl-Ls.aaa.al/init.sh)"
如需新增功能,可在脚本基础上进行修改实现。
本书从实用角度出发,结合实际应用案例,模拟真实的系统环境,介绍电脑的使用方法与技巧,旨在帮助读者全面、系统地掌握电脑的应用。书中“高手支招”板块提供大量实用技巧,解决日常工作中遇到的常见问题。
CentOS 7安装后实用优化详解
1.安装nux-desktop软件源
这是一位网友提供的软件源,尽管是个人提供,但其中软件质量都不错,只要自己安装时注意并且设置好优先级(yum-plugin-priorities),还是可以使用的,安装了这个之后,使用播放器播放如mp3这种闭源格式,播放器就会自动搜索并安装所需软件包,然后我们就可以听mp3歌曲啦
# yum-y install epel-release
# yumrpm-Uvh
2.安装shadowsocks-qt5
这是shadowsocks的一个客户端,比较稳定,推荐使用
#vim/etc/yum.repos.d/librehat-shadowsocks.repo
[librehat-shadowsocks]
name=Copr repo for shadowsocks owned by librehat
baseurl=$basearch/
skip_if_unavailable=True
gpgcheck=1
gpgkey=
enabled=1
enabled_metadata=1
priority=13
#yum install shadowsocks-qt5
3.安装dash-to-dock插件
本插件适用于gnome-shell,是最流行的插件之一
首先下载dash-to-dock@micxgx.gmail.com.v22.shell-extension.zip
然后打开tweak-tool,在shell-extensions标签下打开我们下载下来的这个zip文件
然后根据自己的喜好对插件进行配置即可
4.设置快速开启终端的快捷键
只需要在设置中选择键盘-快捷键
然后选择自定义快捷键,添加一个名字任意,命令是gnome-terminal的新项,然后设置快捷键就可以了