네이버 공유하기
728x90
CentOS 센트OS - 파라미터 최적화 스크립트
첨부파일 참조하여 주세요 ~
root 루트로 실행해야 합니다.
스왑이 0 일때 (스왑 파일이 없는 경우) echo 로 출력되는 부분을 그대로 한줄씩 실행하면 됩니다.
대신 메모리가 1기가라면
dd if=/dev/zero of=/data/swapfile bs=1M count=1024
8기가라면
dd if=/dev/zero of=/data/swapfile bs=1M count=8192
이렇게 실행하시면 됩니다.
#!/bin/bash
#echo -e "32768\t61000" > /proc/sys/net/ipv4/ip_local_port_range
#$ sysctl -w net.ipv4.tcp_wmem="253952 253952 16777216"
#$ sysctl fs.file-max
#$ sysctl fs.file-nr
echo "----------------------------------"
check_value=`getenforce`
echo "GetEnforce : ${check_value}"
echo "----------------------------------"
echo -e "Parameter\tNow\tRecommand"
echo "----------------------------------"
# Recommand value = 0
recom_value="0"
for check_param in net.ipv4.tcp_timestamps net.ipv4.conf.all.accept_source_route net.ipv4.ip_forward net.ipv4.conf.all.accept_redirects net.ipv4.tcp_tw_reuse
do
check_param2=${check_param%*.*}
check_param3=`echo ${check_param} | sed -e "s/${check_param2}//" | cut -c 2-`
check_value=`sysctl -n ${check_param}`
if [ "$check_value" -eq "${recom_value}" ]
then
echo -e "${check_param3}\t${check_value}\t${recom_value}\t OK"
else
echo -e "${check_param3}\t${check_value}\t${recom_value}"
read -s -n1 -p " ${check_param3} ${check_value}->${recom_value} : Submit Now? (y/n) : " submit_yn
if [ "$submit_yn" == "y" ]
then
echo -e "\tsysctl -w ${check_param}=${recom_value}"
echo "$check_param = \"${recom_value}\"" >> /etc/sysctl.conf
fi
echo ${submit_yn}
fi
done
# Recommand value = 1
recom_value="1"
for check_param in net.ipv4.icmp_echo_ignore_broadcasts net.ipv4.conf.all.log_martians net.ipv4.tcp_syncookies net.ipv4.tcp_window_scaling
do
check_param2=${check_param%*.*}
check_param3=`echo ${check_param} | sed -e "s/${check_param2}//" | cut -c 2-`
check_value=`sysctl -n ${check_param}`
if [ "$check_value" -eq "${recom_value}" ]
then
echo -e "${check_param3}\t${check_value}\t${recom_value}\t OK"
else
echo -e "${check_param3}\t${check_value}\t${recom_value}"
read -s -n1 -p " ${check_param3} ${check_value}->${recom_value} : Submit Now? (y/n) : " submit_yn
if [ "$submit_yn" == "y" ]
then
echo -e "\tsysctl -w ${check_param}=${recom_value}"
echo "$check_param = \"${recom_value}\"" >> /etc/sysctl.conf
fi
echo ${submit_yn}
fi
done
check_value=`sysctl -n .net.ipv4.ip_local_port_range`
echo -e "Port.Range\t${check_value}\t1024\t65535"
check_value=`sysctl -n .net.ipv4.tcp_max_syn_backlog`
echo -e "MAX.BackLog\t${check_value}\t1024"
check_value=`sysctl -n net.ipv4.tcp_max_tw_buckets`
echo -e "TcpTW.Buckets\t${check_value}\t65536"
# check : ulimit -a / sysctl -n fs.file-nr
check_value=`sysctl -n fs.file-max`
echo -e "FS.FileMax\t${check_value}\t77052"
check_value=`sysctl -n net.core.netdev_max_backlog`
echo -e "NetdevMxBackLog\t${check_value}\t30000"
check_value=`sysctl -n net.core.somaxconn`
echo -e "MaxConnections\t${check_value}\t1024"
echo "----------------------------------------------------------------------------"
free -m
echo "----------------------------------------------------------------------------"
swap_size=`free -m | grep -i swap | awk '{print $2}'`
if [ "$swap_size" -eq "0" ]
then
echo -e "----------------------------------------------------------------------------"
echo -e "\tdd if=/dev/zero of=/data/swapfile bs=1M count=[1024|2048|8192]"
echo -e "\tmkswap /data/swapfile"
echo -e "\tswapon /data/swapfile"
echo -e "\tchmod 600 swapfile"
echo -e "\t/data/swapfile swap swap defaults 0 0 >> /etc/fstab"
echo -e "----------------------------------------------------------------------------"
fi
ulimit -a
echo "----------------------------------------------------------------------------"
echo "sysctl -p"
sysctl -p
sysctl 이라는 명령어로 수정합니다.
수정할때에는 sysctl -w [파라미터] 로 수정하고, 적용은 sysctl -p 하면 됩니다.
반응형
'Tech > Linux' 카테고리의 다른 글
| Bash - if 구문 (0) | 2018.10.18 |
|---|---|
| 리눅스 서버관리 - Parallel SSH - SSH 를 이용해서 여러대 리눅스 머신으로 명령어 보내기 (0) | 2018.10.18 |
| AWS 리눅스 SSH 접속 계정 정리 (0) | 2018.07.10 |
| 우분투 - 마리아디비 MariaDB 설치 (0) | 2018.07.03 |
| 우분투 ubuntu Mysql : 오픈 파일수 변경하기 open files limit (0) | 2018.07.03 |
네이버 공유하기
check.centos.sh