以下為在 Ubuntu 24.04 主機上新增 4GB swap 的完整操作流程與解說,包含你實際執行的指令整理後的教學。
📌 1. 查看磁碟使用狀況
在新增 swap 前,先確認磁碟空間是否足夠:
1df -h1df -h範例輸出:
1Filesystem Size Used Avail Use% Mounted on2/dev/sda 25G 13G 11G 56% /1Filesystem Size Used Avail Use% Mounted on2/dev/sda 25G 13G 11G 56% /可見有 11GB 可用空間,足以建立新的 4GB swapfile。
📌 2. 建立 4GB Swap File
使用 fallocate 建立一個大小為 4GB 的 swap 檔案:
1sudo fallocate -l 4G /swapfile21sudo fallocate -l 4G /swapfile2📌 3. 設定 Swap 檔案權限
Swap file 必須設定成只有 root 能讀寫,否則系統會拒絕使用:
1sudo chmod 600 /swapfile21sudo chmod 600 /swapfile2📘 額外補充:Linux 權限教學(給完全不懂的人)
為了更容易理解,我用超白話方式說明:
🔹 什麼是 Linux 權限?
Linux 裡每個檔案與資料夾都有三種「身分」能對它做事:
-
User(u):檔案的擁有者
-
Group(g):與該檔案同群組的人
-
Others(o):所有其他人(包含陌生人)
每個身分都可以有三種權限:
-
r = read(讀)
-
w = write(寫)
-
x = execute(執行)
🔹 數字是怎麼來的?
Linux 會用一個「三位數」表示權限,例如:
chmod 600 file
代表:
-
第一個數字(6)→ user 的權限
-
第二個數字(0)→ group 的權限
-
第三個數字(0)→ others 的權限
那 6、0、0 是什麼意思?
權限對應如下:
-
r = 4
-
w = 2
-
x = 1
所以:
-
6 = 4 + 2 = rw-(讀寫可)
-
0 = ---(完全沒權限)
🔹 用表格讓你秒懂
| 數字 | 權限 | 意思 |
|---|---|---|
| 7 | rwx | 讀寫執行全部可 |
| 6 | rw- | 讀 + 寫 |
| 5 | r-x | 讀 + 執行 |
| 4 | r— | 只有讀 |
| 0 | --- | 什麼都不行 |
🔹 swapfile 為什麼不能設 644 或 777?
-
644 = 其他人能讀 → 完全不行
-
666 = 其他人能寫 → 大爆炸級資安問題
-
777 = 人人可讀寫執行 → 不要命了
因為 swapfile 裡可能包含:
-
密碼明文
-
MySQL 的資料
-
後台 session
-
記憶體裡任何曾存在過的資料
所以必須限制成:
600(rw-------)
這樣才能確保:
-
root 可以使用
-
其他任何人都不能讀寫
-
系統才能安全掛載 swapfile
📌 4. 將檔案格式化成 Swap 空間
將剛建立的檔案轉成 swap 格式:
1sudo mkswap /swapfile21sudo mkswap /swapfile2執行後會看到類似:
1Setting up swapspace version 1, size = 4 GiB<br>UUID=xxxxx-xxxxx1Setting up swapspace version 1, size = 4 GiB<br>UUID=xxxxx-xxxxx📌 5. 啟用 Swap File
讓 swapfile 立即生效:
1sudo swapon /swapfile21sudo swapon /swapfile2📌 6. 設定開機自動啟用 Swap
把設定寫入 /etc/fstab:
1echo '/swapfile2 none swap sw 0 0' | sudo tee -a /etc/fstab1echo '/swapfile2 none swap sw 0 0' | sudo tee -a /etc/fstab📌 7. 確認 Swap 是否成功新增
使用 free -h 查看目前的記憶體與 swap 狀態:
1free -h1free -h範例輸出:
1 ```2 total used free shared buff/cache availableMem: 961Mi 873Mi 79Mi 71Mi 221Mi 88Mi Swap: 4.5Gi 520Mi 4.0Gi
1 total used free shared buff/cache availableMem: 961Mi 873Mi 79Mi 71Mi 221Mi 88Mi Swap: 4.5Gi 520Mi 4.0Gi
1可以看到:2
3- 原本的 512MB swap + 新增的 4GB → **總共 4.5GB swap**4
5- 系統已成功使用新的 swap。部分資訊可能已經過時