aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/linux/swap.md
diff options
context:
space:
mode:
Diffstat (limited to 'src/linux/swap.md')
-rw-r--r--src/linux/swap.md50
1 files changed, 50 insertions, 0 deletions
diff --git a/src/linux/swap.md b/src/linux/swap.md
new file mode 100644
index 0000000..1a45883
--- /dev/null
+++ b/src/linux/swap.md
@@ -0,0 +1,50 @@
+# swap
+
+## List active swap areas
+
+```sh
+# procfs
+cat /proc/swaps
+
+# cli tool
+swapon --show
+```
+
+## Manual swapfile setup
+
+```sh
+# One time:
+# Create and initialize swapfile.
+# mkswap will initialize swap area over full filesize by default.
+sudo dd if=/dev/zero of=/swapfile bs=1G count=1
+mkswap /swapfile
+
+# Enable swap file (until next reboot).
+swapon /swapfile
+
+# Persistent setup of swap file.
+echo "/swapfile none swap sw 0 0" | sudo tee -a /etc/fstab
+
+# Disable swap file (until next reboot).
+swapoff /swapfile
+```
+> Recommended file permissions `0600` and file owner `uid=0 (root)`.
+
+## Using `dphys-swapfile` service.
+
+Dynamically computes size of swap file based on installed RAM.
+
+```sh
+# Setup and enable swap based on /etc/dphys-swapfile.
+dphys-swapfile setup
+dphys-swapfile swapon
+
+# Disable swap on configured file.
+dphys-swapfile swapoff
+```
+
+> Usually comes with a script to be automatically run at system startup and shutdown.
+> For example as `systemd` service:
+> ```
+> systemctl status dphys-swapfile
+> ```