热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

linux内核高级优化脚本可以用于hadoop生态圈环境的组件安装linux内核调优具体的每一步的解释请参考03搭建cdh备注:使用与centos6和centos7两

linux内核高级优化脚本

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

具体的每一步的解释请参考 03搭建cdh

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

[root@lb01 scripts]# pwd

/opt/scripts

[root@lb01 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

[root@lb01 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 <

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

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 "&#96;echo $a|sed &#39;s#[0-9]##g&#39;&#96;" ] && {

echo "Input error"

exit 1

}

iffuncation(){

if [ $a -eq 1 ];then

echo "disable ipv6"

echo "等待3S"

sleep 3

if [ "&#96;egrep "net.ipv6.conf.all.disable_ipv6&#61;1" /etc/sysctl.conf|wc -l&#96;" &#61;&#61; "0" ];then

echo "net.ipv6.conf.all.disable_ipv6&#61;1" >> /etc/sysctl.conf

fi

if [ "&#96;egrep "NETWORKING_IPV6&#61;no" /etc/sysconfig/network|wc -l&#96;" &#61;&#61; "0" ];then

echo "NETWORKING_IPV6&#61;no" >> /etc/sysconfig/network

fi

pathnetwork&#61;&#96;ls /etc/sysconfig/network-scripts/ifcfg-e*&#96;

echo NETWORKING_IPV6&#61;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 [ "&#96;egrep "net.core.wmem_default&#61;256960" /etc/sysctl.conf|wc -l&#96;" &#61;&#61; "0" ];then

echo "net.core.wmem_default&#61;256960" >> /etc/sysctl.conf

fi

if [ "&#96;egrep "net.core.rmem_default&#61;256960" /etc/sysctl.conf|wc -l&#96;" &#61;&#61; "0" ];then

echo "net.core.rmem_default&#61;256960" >> /etc/sysctl.conf

fi

if [ "&#96;egrep "net.core.wmem_max&#61;2097152" /etc/sysctl.conf|wc -l&#96;" &#61;&#61; "0" ];then

echo "net.core.wmem_max&#61;2097152" >> /etc/sysctl.conf

fi

if [ "&#96;egrep "net.core.rmem_max&#61;2097152" /etc/sysctl.conf|wc -l&#96;" &#61;&#61; "0" ];then

echo "net.core.rmem_max&#61;2097152" >> /etc/sysctl.conf

fi

if [ "&#96;egrep "net.ipv4.tcp_wmem&#61;8760 256960 4088000" /etc/sysctl.conf|wc -l&#96;" &#61;&#61; "0" ];then

echo "net.ipv4.tcp_wmem&#61;8760 256960 4088000" >> /etc/sysctl.conf

fi

if [ "&#96;egrep "net.ipv4.tcp_rmem&#61;8760 256960 4088000" /etc/sysctl.conf|wc -l&#96;" &#61;&#61; "0" ];then

echo "net.ipv4.tcp_rmem&#61;8760 256960 4088000" >> /etc/sysctl.conf

sysctl -p

else

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

fi

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

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

DF&#61;&#96;df |sed -n 2p |awk &#39;{print $1}&#39;&#96;

blockdev --setra 8192 $DF

blockdev --getra $DF

执行结果如下

[root&#64;lb01 scripts]# sh adlinuxopt.sh

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

若没执行请 ctrl&#43;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 &#61; 0

net.ipv4.conf.default.rp_filter &#61; 1

net.ipv4.conf.default.accept_source_route &#61; 0

kernel.sysrq &#61; 0

kernel.core_uses_pid &#61; 1

net.ipv4.tcp_synCOOKIEs &#61; 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 &#61; 65536

kernel.msgmax &#61; 65536

kernel.shmmax &#61; 68719476736

kernel.shmall &#61; 4294967296

vm.swappiness &#61; 1

vm.dirty_background_ratio &#61; 5

vm.dirty_ratio &#61; 10

net.ipv6.conf.all.disable_ipv6 &#61; 1

net.core.wmem_default &#61; 256960

net.core.rmem_default &#61; 256960

net.core.wmem_max &#61; 2097152

net.core.rmem_max &#61; 2097152

net.ipv4.tcp_wmem &#61; 8760 256960 4088000

net.ipv4.tcp_rmem &#61; 8760 256960 4088000

等待3S

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

#4/socket读写缓冲区调优

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

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

#5/预读缓冲调优

8192

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

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



推荐阅读
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 如何自行分析定位SAP BSP错误
    The“BSPtag”Imentionedintheblogtitlemeansforexamplethetagchtmlb:configCelleratorbelowwhichi ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
    本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • 本文介绍了在CentOS 6.4系统中更新源地址的方法,包括备份现有源文件、下载163源、修改文件名、更新列表和系统,并提供了相应的命令。 ... [详细]
  • Centos下安装memcached+memcached教程
    本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文介绍了在Android开发中使用软引用和弱引用的应用。如果一个对象只具有软引用,那么只有在内存不够的情况下才会被回收,可以用来实现内存敏感的高速缓存;而如果一个对象只具有弱引用,不管内存是否足够,都会被垃圾回收器回收。软引用和弱引用还可以与引用队列联合使用,当被引用的对象被回收时,会将引用加入到关联的引用队列中。软引用和弱引用的根本区别在于生命周期的长短,弱引用的对象可能随时被回收,而软引用的对象只有在内存不够时才会被回收。 ... [详细]
  • Centos7搭建ELK(Elasticsearch、Logstash、Kibana)教程及注意事项
    本文介绍了在Centos7上搭建ELK(Elasticsearch、Logstash、Kibana)的详细步骤,包括下载安装包、安装Elasticsearch、创建用户、修改配置文件等。同时提供了使用华为镜像站下载安装包的方法,并强调了保证版本一致的重要性。 ... [详细]
  • 本文介绍了H5游戏性能优化和调试技巧,包括从问题表象出发进行优化、排除外部问题导致的卡顿、帧率设定、减少drawcall的方法、UI优化和图集渲染等八个理念。对于游戏程序员来说,解决游戏性能问题是一个关键的任务,本文提供了一些有用的参考价值。摘要长度为183字。 ... [详细]
author-avatar
的撒旦
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有