linux内核优化脚本,linux内核高级优化脚本

linux内核高级优化脚本

可以用于hadoop生态圈环境的组件安装 linux内核调优

具体的每一步的解释请参考

03搭建cdh

备注:使用与centos6和centos7两个系统版本执行

[[email protected] scripts]# pwd

/opt/scripts

[[email protected] scripts]# ll

total 12

-rw-r--r-- 1 root root 3837 Apr 22 14:34 adlinuxopt.sh

-rw-r--r-- 1 root root 7215 Apr 22 13:32 initialization.sh

[[email protected] scripts]# cat adlinuxopt.sh

#!/bin/bash

#adlinuxopt scripts

#author majihui

#date 20190422

#by Advanced linux optimization for hadoop

echo "在执行此脚本之前需要先执行 initialization.sh 等待5s确认"

echo "若没执行请 ctrl+c 退出执行"

sleep 1

echo "1S"

sleep 2

echo "2S"

sleep 3

echo "3S"

sleep 4

echo "4S"

sleep 5

echo "5S"

if [ ! -d "/opt/scripts" ]; then

mkdir -p /opt/scripts

fi

echo "等待1s:#1/判断centos7还是centos6系统"

sleep 1

VERSION=`cat /etc/redhat-release|awk -F " " ‘{print $3}‘|awk -F "." ‘{print $1}‘`

if [ "$VERSION" == "6" ];then

VERSION=‘6‘

echo "centos6"

else

VERSION=‘7‘

echo "centos7"

fi

echo "-----------------------------华丽分隔符----------------------------------------"

echo "#2/调整Linux磁盘缓存和性能"

if [ "`egrep "vm.dirty_background_ratio = 5" /etc/sysctl.conf|wc -l`" == "0" ];then

echo "vm.dirty_background_ratio = 5" >> /etc/sysctl.conf

else

echo "Linux磁盘缓存和性能 vm.dirty_background_ratio 设置成功或者之前已经设置过了"

fi

if [ "`egrep "vm.dirty_ratio = 10" /etc/sysctl.conf|wc -l`" == "0" ];then

echo "vm.dirty_ratio = 10" >> /etc/sysctl.conf

sysctl -p

else

echo "Linux磁盘缓存和性能 vm.dirty_ratio设置成功或者之前已经设置过了"

fi

echo "-----------------------------华丽分隔符----------------------------------------"

echo "#3/是否禁用ipv6"

echo "等待3秒:"

sleep 3

cat << EOF

**********************

1.[disable ipv6]

2.[no disable ipv6]

3.[exit]

pls input the num you want:

**********************

EOF

read -t 30 -p "pls input the num you want:" a

[ -n "`echo $a|sed ‘s#[0-9]##g‘`" ] && {

echo "Input error"

exit 1

}

iffuncation(){

if [ $a -eq 1 ];then

echo "disable ipv6"

echo "等待3S"

sleep 3

if [ "`egrep "net.ipv6.conf.all.disable_ipv6=1" /etc/sysctl.conf|wc -l`" == "0" ];then

echo "net.ipv6.conf.all.disable_ipv6=1" >> /etc/sysctl.conf

fi

if [ "`egrep "NETWORKING_IPV6=no" /etc/sysconfig/network|wc -l`" == "0" ];then

echo "NETWORKING_IPV6=no" >> /etc/sysconfig/network

fi

pathnetwork=`ls /etc/sysconfig/network-scripts/ifcfg-e*`

echo NETWORKING_IPV6=no >> $pathnetwork

sysctl -p

echo "等待3S"

sleep 3

elif [ $a -eq 2 ];then

echo "no disable ipv6"

elif [ $a -eq 3 ];then

exit 1

else

echo "Input error"

exit 1

fi

}

iffuncation

echo "-----------------------------华丽分隔符----------------------------------------"

echo "#4/socket读写缓冲区调优"

if [ "`egrep "net.core.wmem_default=256960" /etc/sysctl.conf|wc -l`" == "0" ];then

echo "net.core.wmem_default=256960" >> /etc/sysctl.conf

fi

if [ "`egrep "net.core.rmem_default=256960" /etc/sysctl.conf|wc -l`" == "0" ];then

echo "net.core.rmem_default=256960" >> /etc/sysctl.conf

fi

if [ "`egrep "net.core.wmem_max=2097152" /etc/sysctl.conf|wc -l`" == "0" ];then

echo "net.core.wmem_max=2097152" >> /etc/sysctl.conf

fi

if [ "`egrep "net.core.rmem_max=2097152" /etc/sysctl.conf|wc -l`" == "0" ];then

echo "net.core.rmem_max=2097152" >> /etc/sysctl.conf

fi

if [ "`egrep "net.ipv4.tcp_wmem=8760 256960 4088000" /etc/sysctl.conf|wc -l`" == "0" ];then

echo "net.ipv4.tcp_wmem=8760 256960 4088000" >> /etc/sysctl.conf

fi

if [ "`egrep "net.ipv4.tcp_rmem=8760 256960 4088000" /etc/sysctl.conf|wc -l`" == "0" ];then

echo "net.ipv4.tcp_rmem=8760 256960 4088000" >> /etc/sysctl.conf

sysctl -p

else

echo "socket读写缓冲区调优 设置成功或者之前已经设置过了"

fi

echo "-----------------------------华丽分隔符----------------------------------------"

echo "#5/预读缓冲调优"

DF=`df |sed -n 2p |awk ‘{print $1}‘`

blockdev --setra 8192 $DF

blockdev --getra $DF

执行结果如下

[[email protected] scripts]# sh adlinuxopt.sh

在执行此脚本之前需要先执行 initialization.sh 等待5s确认

若没执行请 ctrl+c 退出执行

1S

2S

3S

4S

5S

等待1s:#1/判断centos7还是centos6系统

centos6

-----------------------------华丽分隔符----------------------------------------

#2/调整Linux磁盘缓存和性能

Linux磁盘缓存和性能 vm.dirty_background_ratio 设置成功或者之前已经设置过了

Linux磁盘缓存和性能 vm.dirty_ratio设置成功或者之前已经设置过了

-----------------------------华丽分隔符----------------------------------------

#3/是否禁用ipv6

等待3秒:

**********************

1.[disable ipv6]

2.[no disable ipv6]

3.[exit]

pls input the num you want:

**********************

pls input the num you want:1

disable ipv6

等待3S

net.ipv4.ip_forward = 0

net.ipv4.conf.default.rp_filter = 1

net.ipv4.conf.default.accept_source_route = 0

kernel.sysrq = 0

kernel.core_uses_pid = 1

net.ipv4.tcp_syncookies = 1

error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key

error: "net.bridge.bridge-nf-call-iptables" is an unknown key

error: "net.bridge.bridge-nf-call-arptables" is an unknown key

kernel.msgmnb = 65536

kernel.msgmax = 65536

kernel.shmmax = 68719476736

kernel.shmall = 4294967296

vm.swappiness = 1

vm.dirty_background_ratio = 5

vm.dirty_ratio = 10

net.ipv6.conf.all.disable_ipv6 = 1

net.core.wmem_default = 256960

net.core.rmem_default = 256960

net.core.wmem_max = 2097152

net.core.rmem_max = 2097152

net.ipv4.tcp_wmem = 8760 256960 4088000

net.ipv4.tcp_rmem = 8760 256960 4088000

等待3S

-----------------------------华丽分隔符----------------------------------------

#4/socket读写缓冲区调优

socket读写缓冲区调优 设置成功或者之前已经设置过了

-----------------------------华丽分隔符----------------------------------------

#5/预读缓冲调优

8192

参考链接为:03搭建cdh 生产环境前的Linux 优化(涉及到Linux内存参数优化)

https://blog.51cto.com/12445535/2365948

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值