DEV Community

BC
BC

Posted on • Edited on

Create swap file in Ubuntu

Create a swap file to let OS use when the physical memory is not big enough. Make the swap file as 1~2x big as your physical memory.

How much swap size do you need

Based on your physical memory size, here is a chart you can use:

  • 1G -> 2G
  • 4G -> 6G
  • 6G -> 8G
  • 8G -> 11G
  • 16G -> 20G
  • 32G -> 38G

Create swap file

CreateSwap.sh:

#!/usr/bin/env bash fallocate -l 12G /swapfile chmod 600 /swapfile mkswap /swapfile swapon /swapfile echo "/swapfile swap swap defaults 0 0" >> /etc/fstab 
Enter fullscreen mode Exit fullscreen mode

Then use swapon --show to check current swaps.

If your system already configured other swaps, you can use swapoff to remove it, for example:

swapoff /dev/sdb 
Enter fullscreen mode Exit fullscreen mode

Also remember to remove it in the /etc/fstab file such that it won't get used when system rebooted next time.

Reference

Top comments (1)

Collapse
 
peter279k profile image
peter279k

We can also use the parted command to create the swap partition.

Here are examples to do that:

pi@raspberrypi:~ $ free -mh total used free shared buff/cache available Mem: 7.7Gi 369Mi 6.8Gi 24Mi 579Mi 7.1Gi Swap: 99Mi 0B 99Mi pi@raspberrypi:~ $ sudo parted (parted) print free Model: SD SD (sd/mmc) Disk /dev/mmcblk0: 62.1GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 16.4kB 4194kB 4178kB Free Space 1 4194kB 273MB 268MB primary fat32 lba 2 273MB 31.9GB 31.6GB primary ext4 31.9GB 62.1GB 30.2GB Free Space (parted) mkpart primary linux-swap Start? 31.9GB End? 44GB (parted) print free Model: SD SD (sd/mmc) Disk /dev/mmcblk0: 62.1GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 16.4kB 4194kB 4178kB Free Space 1 4194kB 273MB 268MB primary fat32 lba 2 273MB 31.9GB 31.6GB primary ext4 31.9GB 31.9GB 524kB Free Space 3 31.9GB 44.0GB 12.1GB primary linux-swap(v1) lba 44.0GB 62.1GB 18.1GB Free Space (parted) Information: You may need to update /etc/fstab. pi@raspberrypi:~ $ sudo mkswap /dev/mmcblk0p3 Setting up swapspace version 1, size = 11.3 GiB (12084834304 bytes) no label, UUID=d89e85d9-e8be-470f-9c67-86648cc590f7 pi@raspberrypi:~ $ sudo swapon /dev/mmcblk0p3 pi@raspberrypi:~ $ free -mh total used free shared buff/cache available Mem: 7.7Gi 377Mi 6.9Gi 24Mi 427Mi 7.1Gi Swap: 11Gi 0B 11Gi pi@raspberrypi:~ $ pi@raspberrypi:~ $ echo "UUID=d89e85d9-e8be-470f-9c67-86648cc590f7 swap swap defaults 0 0" | sudo tee -a /et c/fstab UUID=d89e85d9-e8be-470f-9c67-86648cc590f7 swap swap defaults 0 0 pi@raspberrypi:~ $ cat /etc/fstab proc /proc proc defaults 0 0 PARTUUID=a2dee777-01 /boot vfat defaults 0 2 PARTUUID=a2dee777-02 / ext4 defaults,noatime 0 1 # a swapfile is not a swap partition, no line here # use dphys-swapfile swap[on|off] for that UUID=d89e85d9-e8be-470f-9c67-86648cc590f7 swap swap defaults 0 0 
Enter fullscreen mode Exit fullscreen mode