docs(blog): 新增 Linux 内存优化指南并更新工作区侧边栏

This commit is contained in:
liumangmang
2026-03-20 22:20:27 +08:00
parent 87ace8cbe8
commit 89f79774ff
5 changed files with 642 additions and 0 deletions

View File

@@ -0,0 +1,104 @@
#!/bin/bash
# Swap空间扩展脚本
# 将 /swapfile 从 8GB 扩展到 24GB
set -e # 遇到错误立即退出
echo "=========================================="
echo "Swap空间扩展脚本"
echo "=========================================="
echo ""
# 颜色定义
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
NC='\033[0m' # No Color
# 检查是否有sudo权限
if ! sudo -n true 2>/dev/null; then
echo -e "${YELLOW}此脚本需要sudo权限请输入密码${NC}"
fi
echo "步骤 1/7: 显示当前swap状态"
echo "----------------------------------------"
swapon --show
free -h
echo ""
read -p "确认要继续吗这将临时关闭swap空间 (y/n): " -n 1 -r
echo ""
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
echo -e "${RED}操作已取消${NC}"
exit 1
fi
echo ""
echo "步骤 2/7: 关闭现有 /swapfile"
echo "----------------------------------------"
sudo swapoff /swapfile
echo -e "${GREEN}✓ 已关闭 /swapfile${NC}"
echo ""
echo "步骤 3/7: 删除旧的 swapfile"
echo "----------------------------------------"
sudo rm /swapfile
echo -e "${GREEN}✓ 已删除旧文件${NC}"
echo ""
echo "步骤 4/7: 创建新的 24GB swapfile"
echo "----------------------------------------"
echo "使用 fallocate 快速创建约需10-30秒..."
sudo fallocate -l 24G /swapfile
echo -e "${GREEN}✓ 已创建 24GB swapfile${NC}"
echo ""
echo "步骤 5/7: 设置文件权限"
echo "----------------------------------------"
sudo chmod 600 /swapfile
echo -e "${GREEN}✓ 权限已设置为 600${NC}"
echo ""
echo "步骤 6/7: 格式化为swap"
echo "----------------------------------------"
sudo mkswap /swapfile
echo -e "${GREEN}✓ 格式化完成${NC}"
echo ""
echo "步骤 7/7: 启用新的swapfile"
echo "----------------------------------------"
sudo swapon /swapfile
echo -e "${GREEN}✓ 已启用新的swapfile${NC}"
echo ""
echo "=========================================="
echo "扩展完成当前swap状态"
echo "=========================================="
swapon --show
echo ""
free -h
echo ""
# 检查 /etc/fstab 配置
echo "----------------------------------------"
echo "检查 /etc/fstab 配置..."
echo "----------------------------------------"
if grep -q "^/swapfile" /etc/fstab; then
echo -e "${GREEN}✓ /etc/fstab 已包含 swapfile 配置${NC}"
else
echo -e "${YELLOW}⚠ /etc/fstab 中未找到 swapfile 配置${NC}"
read -p "是否添加到 /etc/fstab 以确保重启后生效?(y/n): " -n 1 -r
echo ""
if [[ $REPLY =~ ^[Yy]$ ]]; then
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
echo -e "${GREEN}✓ 已添加到 /etc/fstab${NC}"
fi
fi
echo ""
echo "=========================================="
echo -e "${GREEN}所有操作完成!${NC}"
echo "=========================================="
echo "总Swap空间: ~31GB (24GB swapfile + 7.3GB zram)"
echo ""