Linux Centos 管理虚拟内存脚本

Manage you swap space by the shell script

wget https://www.moerats.com/usr/shell/swap.sh && bash swap.sh

然后根据选项进行操作,记得添加swap的时候填写纯数字,默认单位为M

 

courtesy of:

https://jszbug.com/10873

 

 1 #!/usr/bin/env bash
 2 #Blog:https://www.moerats.com/
 3 
 4 Green="\033[32m"
 5 Font="\033[0m"
 6 Red="\033[31m" 
 7 
 8 #root权限
 9 root_need(){
10     if [[ $EUID -ne 0 ]]; then
11         echo -e "${Red}Error:This script must be run as root!${Font}"
12         exit 1
13     fi
14 }
15 
16 #检测ovz
17 ovz_no(){
18     if [[ -d "/proc/vz" ]]; then
19         echo -e "${Red}Your VPS is based on OpenVZ,not supported!${Font}"
20         exit 1
21     fi
22 }
23 
24 add_swap(){
25 echo -e "${Green}请输入需要添加的swap,建议为内存的2倍!${Font}"
26 read -p "请输入swap数值:" swapsize
27 
28 #检查是否存在swapfile
29 grep -q "swapfile" /etc/fstab
30 
31 #如果不存在将为其创建swap
32 if [ $? -ne 0 ]; then
33     echo -e "${Green}swapfile未发现,正在为其创建swapfile${Font}"
34     fallocate -l ${swapsize}M /swapfile
35     chmod 600 /swapfile
36     mkswap /swapfile
37     swapon /swapfile
38     echo '/swapfile none swap defaults 0 0' >> /etc/fstab
39          echo -e "${Green}swap创建成功,并查看信息:${Font}"
40          cat /proc/swaps
41          cat /proc/meminfo | grep Swap
42 else
43     echo -e "${Red}swapfile已存在,swap设置失败,请先运行脚本删除swap后重新设置!${Font}"
44 fi
45 }
46 
47 del_swap(){
48 #检查是否存在swapfile
49 grep -q "swapfile" /etc/fstab
50 
51 #如果存在就将其移除
52 if [ $? -eq 0 ]; then
53     echo -e "${Green}swapfile已发现,正在将其移除...${Font}"
54     sed -i '/swapfile/d' /etc/fstab
55     echo "3" > /proc/sys/vm/drop_caches
56     swapoff -a
57     rm -f /swapfile
58     echo -e "${Green}swap已删除!${Font}"
59 else
60     echo -e "${Red}swapfile未发现,swap删除失败!${Font}"
61 fi
62 }
63 
64 #开始菜单
65 main(){
66 root_need
67 ovz_no
68 clear
69 echo -e "———————————————————————————————————————"
70 echo -e "${Green}Linux VPS一键添加/删除swap脚本${Font}"
71 echo -e "${Green}1、添加swap${Font}"
72 echo -e "${Green}2、删除swap${Font}"
73 echo -e "———————————————————————————————————————"
74 read -p "请输入数字 [1-2]:" num
75 case "$num" in
76     1)
77     add_swap
78     ;;
79     2)
80     del_swap
81     ;;
82     *)
83     clear
84     echo -e "${Green}请输入正确数字 [1-2]${Font}"
85     sleep 2s
86     main
87     ;;
88     esac
89 }
90 main

 

posted @ 2021-02-10 18:29  千家诗  阅读(77)  评论(0编辑  收藏  举报