Léo*_* 준영 9 linux swap linux-kernel
情况:/dev/sda3
当 HD 128 GB 时增加交换大小 ( ) 大于 RAM (8 GB)
动机: 8 GB RAM 太少;我的 SSD 中有 30 GB 的可用空间;我想将 20 GB 转为 SSD 交换
系统特性
交换非不可变/可变。我找不到任何证据为什么/mnt/.swapfile
应该是不可变的,因此您不需要更改交换文件的文件属性
sudo lsattr /mnt/.swapfile
-------------e-- /mnt/.swapfile
Run Code Online (Sandbox Code Playgroud)命令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
Run Code Online (Sandbox Code Playgroud)命令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
Run Code Online (Sandbox Code Playgroud)为 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
...
Run Code Online (Sandbox Code Playgroud)
合并。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
Run Code Online (Sandbox Code Playgroud)
在您/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
Run Code Online (Sandbox Code Playgroud)
来源
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% /
Run Code Online (Sandbox Code Playgroud)
您可以使用在其上创建的交换文件向系统添加额外的交换空间,/
该文件将利用您的sda2
. 做就是了:
dd if=/dev/zero of=/swapfile bs=20480 count=1M
Run Code Online (Sandbox Code Playgroud)
然后执行以下操作:
sudo mkswap /swapfile
sudo swapon /swapfile
Run Code Online (Sandbox Code Playgroud)
并检查,您的交换空间将增加该数量free -m
是的,要在启动时启用它,请添加以下条目/etc/fstab
/swapfile none swap sw 0 0
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10696 次 |
最近记录: |