diff --git a/1.sh b/1.sh index 95ca3ee..5f5d27c 100644 --- a/1.sh +++ b/1.sh @@ -291,8 +291,23 @@ install_zram() { print_yellow "未找到 modprobe,继续尝试配置 zram-tools" fi + if command -v udevadm >/dev/null 2>&1; then + udevadm settle || true + fi + + if [ ! -d /sys/block/zram0 ] || [ ! -b /dev/zram0 ]; then + print_yellow "未检测到可用的 zram0 设备,跳过 zram 配置" + return 0 + fi + local total_mem algo percent - total_mem=$(free -m | awk '/^Mem:/{print $2}') + total_mem=$(awk '/MemTotal/{print int($2 / 1024)}' /proc/meminfo) + + if ! [[ "$total_mem" =~ ^[0-9]+$ ]] || [ "$total_mem" -le 0 ]; then + print_yellow "无法准确检测总内存,跳过 zram 配置" + return 0 + fi + echo "检测到总内存: ${total_mem}MB" if [ "$total_mem" -le 2500 ]; then