Остання активність 9 months ago

這個小工具可以輕鬆查看、臨時設定和永久修改 Linux 系統的 swappiness 值,讓你能夠靈活調整系統的記憶體與 Swap 分區的使用比例,適合需要最佳化系統效能或特定應用需求的使用者。

manage_swappiness.sh Неформатований
1#!/bin/bash
2
3# manage_swappiness.sh
4# 簡單又好用的 Linux swappiness 管理小工具
5
6# 檢查是否有 root 權限
7if [ "$EUID" -ne 0 ]; then
8 echo "嘿,這個腳本需要 root 權限喔!試試用 sudo 來執行吧。"
9 exit 1
10fi
11
12# 顯示當前的 swappiness 值
13function show_swappiness() {
14 echo "現在系統的 swappiness 值是: $(cat /proc/sys/vm/swappiness)"
15}
16
17# 設置臨時 swappiness 值
18function set_temp_swappiness() {
19 read -p "請輸入臨時 swappiness 值 (0-100): " value
20 if [[ "$value" =~ ^[0-9]+$ ]] && [ "$value" -ge 0 ] && [ "$value" -le 100 ]; then
21 sysctl vm.swappiness=$value
22 echo "好的,臨時 swappiness 值已經設置為 $value 了!(重啟後會還原喔)"
23 else
24 echo "額... 這個數字不對吧?請輸入 0 到 100 之間的數字。"
25 fi
26}
27
28# 設置永久 swappiness 值
29function set_permanent_swappiness() {
30 read -p "請輸入永久 swappiness 值 (0-100): " value
31 if [[ "$value" =~ ^[0-9]+$ ]] && [ "$value" -ge 0 ] && [ "$value" -le 100 ]; then
32 sed -i '/^vm.swappiness/d' /etc/sysctl.conf
33 echo "vm.swappiness=$value" >> /etc/sysctl.conf
34 sysctl -p
35 echo "OK!永久 swappiness 值已經設置為 $value,系統會保持這個設定。"
36 else
37 echo "嗯... 這個數字不太對吧?記得要輸入 0 到 100 之間的數字喔!"
38 fi
39}
40
41# 顯示選單
42function show_menu() {
43 echo ""
44 echo "===== swappiness 小幫手 ====="
45 echo "1. 查看當前 swappiness 值"
46 echo "2. 設置臨時 swappiness 值"
47 echo "3. 設置永久 swappiness 值"
48 echo "4. 離開腳本"
49 echo "============================="
50}
51
52# 主程序循環
53while true; do
54 show_menu
55 read -p "請選擇操作 (1-4): " choice
56 case $choice in
57 1) show_swappiness ;;
58 2) set_temp_swappiness ;;
59 3) set_permanent_swappiness ;;
60 4) echo "掰掰!希望這個小工具對你有幫助!"; exit 0 ;;
61 *) echo "哎呀,請輸入 1 到 4 之間的數字喔!" ;;
62 esac
63done
64