Ситуация: увеличьте размер подкачки ( /dev/sda3
) больше, чем Ram (8 ГБ), когда HD 128 ГБ
Мотивация: 8 ГБ ОЗУ слишком мало; 30 ГБ свободного места на моем SSD; Хочу превратить 20 ГБ в 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
Выделите больше места на диске для замены
/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 Общее обсуждение увеличения пространства подкачки для начинающих.
- Linux Partition HOWTO для жестких дисков, а не SSD: 4. Требования к разделам. http://www.tldp.org/HOWTO/Partition/requirements.html Так что не устанавливайте своп на внешние дорожки на твердотельных накопителях, а используйте
defaults,discard
параметры для обрезки блоков, как предложено @cas.
Система: Linux Ubuntu 16.04 64-битное
ядро Linux: 4.6
Модули Linux: wl
Аппаратное обеспечение: Macbook Air 2013 - середина
Ram: 8 ГБ
SSD: 128 ГБ
chflags
BSD и OS X, и у нас есть команда под названием linux chattr
, вы можете сделать свои файлы и каталоги более безопасными и неизменяемым путем установки некоторых атрибутов, вот руководство на tecmint.com , я надеюсь, что это может помочь.
fdisk -lu /dev/sda
?