[pve-devel] [PATCH pve-docs v8] fix #5644: Moved the section on swap partitions
Alexander Abraham
a.abraham at proxmox.com
Tue Jun 3 15:12:24 CEST 2025
The section on running swap on ZFS was split into two parts.
The part describing setting the swappiness level was moved to a
separate file and the part about creating swap partitions on a ZFS
volume was replaced with a warning about doing so.
Signed-off-by: Alexander Abraham <a.abraham at proxmox.com>
---
Changes in v8:
* Moved the changelog below the three dashes.
Changes in v7:
* Keep ZFS warning in its original file.
* Corrected some formatting errors.
local-zfs.adoc | 49 ++++++++++---------------------------------------
pve-swap.adoc | 35 +++++++++++++++++++++++++++++++++++
sysadmin.adoc | 2 ++
3 files changed, 47 insertions(+), 39 deletions(-)
create mode 100644 pve-swap.adoc
diff --git a/local-zfs.adoc b/local-zfs.adoc
index c64fb27..bfd2295 100644
--- a/local-zfs.adoc
+++ b/local-zfs.adoc
@@ -1,9 +1,10 @@
[[chapter_zfs]]
ZFS on Linux
------------
-ifdef::wiki[]
-:pve-toplevel:
-endif::wiki[]
+
+-ifdef::wiki[]
+-:pve-toplevel:
+-endif::wiki[]
ZFS is a combined file system and logical volume manager designed by
Sun Microsystems. Starting with {pve} 3.4, the native Linux
@@ -620,48 +621,18 @@ time this value changes:
----
You *must reboot* to activate these changes.
-====
+====
[[zfs_swap]]
SWAP on ZFS
~~~~~~~~~~~
-Swap-space created on a zvol may generate some troubles, like blocking the
-server or generating a high IO load, often seen when starting a Backup
-to an external Storage.
-
-We strongly recommend to use enough memory, so that you normally do not
-run into low memory situations. Should you need or want to add swap, it is
-preferred to create a partition on a physical disk and use it as a swap device.
-You can leave some space free for this purpose in the advanced options of the
-installer. Additionally, you can lower the
-``swappiness'' value. A good value for servers is 10:
-
-----
-# sysctl -w vm.swappiness=10
-----
-
-To make the swappiness persistent, open `/etc/sysctl.conf` with
-an editor of your choice and add the following line:
-
---------
-vm.swappiness = 10
---------
-
-.Linux kernel `swappiness` parameter values
-[width="100%",cols="<m,2d",options="header"]
-|===========================================================
-| Value | Strategy
-| vm.swappiness = 0 | The kernel will swap only to avoid
-an 'out of memory' condition
-| vm.swappiness = 1 | Minimum amount of swapping without
-disabling it entirely.
-| vm.swappiness = 10 | This value is sometimes recommended to
-improve performance when sufficient memory exists in a system.
-| vm.swappiness = 60 | The default value.
-| vm.swappiness = 100 | The kernel will swap aggressively.
-|===========================================================
+Do not use a ZFS volume for creating a swap partition because this could lead
+to deadlocks. These deadlocks could cause the affected system to freeze. The
+OpenZFS documentation
+footnote:[https://openzfs.github.io/openzfs-docs/Project%20and%20Community/FAQ.html#using-a-zvol-for-a-swap-device-on-linux]
+warns about using a ZFS volume for creating a swap partition.
[[zfs_encryption]]
Encrypted ZFS Datasets
diff --git a/pve-swap.adoc b/pve-swap.adoc
new file mode 100644
index 0000000..6bc62b0
--- /dev/null
+++ b/pve-swap.adoc
@@ -0,0 +1,35 @@
+[[creating_swap_partitions]]
+Creating SWAP Partitions
+------------------------
+
+We strongly recommend to use enough memory, so that you normally do not
+run into low memory situations. Should you need or want to add swap, it is
+preferred to create a partition on a physical disk and use it as a swap device.
+You can leave some space free for this purpose in the advanced options of the
+installer. Additionally, you can lower the
+``swappiness'' value. A good value for servers is 10:
+
+----
+# sysctl -w vm.swappiness=10
+----
+
+To make the swappiness persistent, open `/etc/sysctl.conf` with
+an editor of your choice and add the following line:
+
+--------
+vm.swappiness = 10
+--------
+
+.Linux kernel `swappiness` parameter values
+[width="100%",cols="<m,2d",options="header"]
+|===========================================================
+| Value | Strategy
+| vm.swappiness = 0 | The kernel will swap only to avoid
+an 'out of memory' condition
+| vm.swappiness = 1 | Minimum amount of swapping without
+disabling it entirely.
+| vm.swappiness = 10 | This value is sometimes recommended to
+improve performance when sufficient memory exists in a system.
+| vm.swappiness = 60 | The default value.
+| vm.swappiness = 100 | The kernel will swap aggressively.
+|===========================================================
diff --git a/sysadmin.adoc b/sysadmin.adoc
index dd43f73..5b12634 100644
--- a/sysadmin.adoc
+++ b/sysadmin.adoc
@@ -71,6 +71,8 @@ include::pve-external-metric-server.adoc[]
include::pve-disk-health-monitoring.adoc[]
+include::pve-swap.adoc[]
+
include::local-lvm.adoc[]
include::local-zfs.adoc[]
--
2.39.5
More information about the pve-devel
mailing list