Linux
如何分配更多的空間來交換和增加它的大小比 Ram 更大?
情況:當 HD 128 GB 時,將交換大小 (
/dev/sda3
) 增加到大於 Ram (8 GB)動機:8 GB RAM 太少;我的 SSD 中有 30 GB 可用空間;我想將 20 GB 轉為 SSD 交換
系統的特點
- 交換非不變/可變。我找不到任何證據為什麼
/mnt/.swapfile
應該是不可變的,所以你不需要更改交換文件的文件屬性sudo lsattr /mnt/.swapfile -------------e-- /mnt/.swapfile
- 命令
sudo fdisk -lu /dev/sda
給出Disk /dev/sda: 113 GiB, 121332826112 bytes, 236978176 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disklabel type: gpt Disk identifier: 082F85CA-EE3E-479C-8244-858B196FA5BA Device Start End Sectors Size Type /dev/sda1 2048 4095 2048 1M BIOS boot /dev/sda2 4096 220323839 220319744 105.1G Linux filesystem /dev/sda3 220323840 236976127 16652288 8G Linux swap
- 命令
df -h
給出Filesystem Size Used Avail Use% Mounted on udev 3.9G 0 3.9G 0% /dev tmpfs 793M 9.4M 784M 2% /run /dev/sda2 104G 74G 25G 75% / tmpfs 3.9G 54M 3.9G 2% /dev/shm tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup tmpfs 793M 64K 793M 1% /run/user/1000
- 為 Swap in 分配更多磁碟空間
/dev/sda3
。當 HD 和 Swap 在同一個分區上時,我的任務工作流程不成功,
/dev/sda3
masi@masi:~$ sudo -i root@masi:~# swapoff /dev/sda3 root@masi:~# swapon [blank] root@masi:~# dd if=/dev/zero of=/dev/sda3 bs=20480 count=1M dd: error writing '/dev/sda3': No space left on device 416308+0 records in 416307+0 records out 8525971456 bytes (8.5 GB, 7.9 GiB) copied, 18.7633 s, 454 MB/s root@masi:~# mkswap /dev/sda3 Setting up swapspace version 1, size = 8 GiB (8525967360 bytes) no label, UUID=245cb42c-1d4e-4e21-b544-16b64af962d6 root@masi:~# swapon -p 99 /dev/sda3 root@masi:~# swapon NAME TYPE SIZE USED PRIO /dev/sda3 partition 8G 0B 99 root@masi:~# vi /etc/fstab ...
同一分區上的 HD 和交換 - 目前工作流程$$ Ijaz, cas, FarazX $$
合併。
fallocate
在開頭使用,dd
因為不需要輸入零masi@masi:~$ sudo fallocate -l 20G /mnt/.swapfile masi@masi:~$ sudo mkswap /mnt/.swapfile Setting up swapspace version 1, size = 20 GiB (21474832384 bytes) no label, UUID=45df9e48-1760-47e8-84d7-7a14f56bbd72 masi@masi:~$ sudo swapon /mnt/.swapfile swapon: /mnt/.swapfile: insecure permissions 0644, 0600 suggested. masi@masi:~$ sudo chmod 600 /mnt/.swapfile masi@masi:~$ free -m total used free shared buff/cache available Mem: 7925 1494 175 196 6255 5892 Swap: 28610 0 28610
添加以下行
/etc/fstab
比將內容添加到執行級別(/etc/rc.local
)更好,我將交換文件放入其中/mnt/.swapfile
以維護 Linux/Unix 理念並維護我的系統備份腳本的完整性;如果交換到 SSD,請使用該discard
選項,以便在每次重新啟動時修剪塊,因此不sw
# http://unix.stackexchange.com/a/298212/16920 # http://unix.stackexchange.com/a/298543/16920 # If swap is on SSD, trim blocks each time at startup. /mnt/.swapfile none swap defaults,discard 0 0 # If swap on External HDD, just use sw. #/media/masi/SamiWeek/.swapfile none swap sw 0 0
來源
- 如何增加交換空間?https://askubuntu.com/a/178726/25388關於為初學者增加交換空間的一般性討論。
- 適用於 HDD 而非 SSD 的 Linux 分區 HOWTO:4. 分區要求。http://www.tldp.org/HOWTO/Partition/requirements.html所以不要把你的交換放在 SSD 的外部軌道上,而是使用
defaults,discard
@cas 建議的選項來修剪你的塊。系統:Linux Ubuntu 16.04 64 位
Linux 核心:4.6
Linux 模組:
wl
硬體:Macbook Air 2013-mid
Ram:8 GB
SSD:128 GB
您只想使用
sda2
. 您的sda2
/dev/sda2 104G 74G 25G 75% /
您可以使用創建的交換文件向系統添加額外的交換空間,
/
該文件將利用您的sda2
. 做就是了:dd if=/dev/zero of=/swapfile bs=20480 count=1M
然後做:
sudo mkswap /swapfile sudo swapon /swapfile
並檢查,您的交換空間將使用該數量增加
free -m
是的,要在啟動時啟用它,請添加條目
/etc/fstab
/swapfile none swap sw 0 0