Ubuntu
在 ubuntu 上增加交換空間並刪除以前的交換空間?
我有一個具有 2Gb 交換空間的虛擬機(線上託管)。
免費-m
total used free shared buffers cached Mem: 1995 438 1557 37 22 190 -/+ buffers/cache: 225 1770 Swap: 1998 0 1998
由於交換空間很小,我嘗試將其增加到 4GB。
執行swapon -s,返回此結果(不知道這意味著什麼,因為我沒有第二個硬碟 sda2)
Filename Type Size Used Priority /dev/sda2 partition 2046972 0 -1
df -H
Filesystem Size Used Avail Use% Mounted on /dev/sda1 25G 19G 4.3G 82% / udev 1.1G 4.1k 1.1G 1% /dev tmpfs 210M 492k 209M 1% /run none 4.1k 0 4.1k 0% /sys/fs/cgroup none 5.3M 0 5.3M 0% /run/lock none 1.1G 0 1.1G 0% /run/shm none 105M 0 105M 0% /run/user
所以我做了
swapoff -a #deactivating previous swap space fallocate -l 4G /swapfile #creating a swapfile chmod 600 /swapfile #giving permissions mkswap /swapfile #making swap the file swapon /swapfile #activating swap on the file echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab #stabilizying swap for it to be there after next reboot
現在我有了我需要的交換空間
免費-m
total used free shared buffers cached Mem: 1995 1153 842 64 116 455 -/+ buffers/cache: 581 1414 Swap: 4095 0 4095
但是,如果我執行 df 操作,之前 2GB 的交換空間仍然被認為已被佔用(也許它們在下次重新啟動時會空閒?)並且我的 fstab 有兩個交換空間條目。
# <file system> <mount point> <type> <options> <dump> <pass> /dev/sda1 / ext4 errors=remount-ro,relatime 0 1 /dev/sda2 swap swap defaults 0 0 proc /proc proc defaults 0 0 sysfs /sys sysfs defaults 0 0 devtmpfs /dev devtmpfs rw 0 0 /swapfile none swap sw 0 0
在這種情況下,我如何著手完成程序?我必須刪除 fstab 中涉及交換的第二行嗎?(我的意思是 /dev/sda2 swap swap defaults 0 0) 重啟安全嗎?
好吧,您可以刪除舊的交換分區(使用 fdisk 或不同的分區程序)並調整主分區的大小以使用該空間,但這需要 shell 訪問或從救援環境引導,如果您不知道自己在做什麼你可能會破壞你的整個虛擬機。
容易得多:只需創建一個 2GB 交換文件而不是 4GB 文件並同時使用文件和分區。交換空間不必是連續的空間,它可以在不同的磁碟上,也可以在一個分區和一個文件上。