diff --git a/group_vars/buildservers.yml b/group_vars/buildservers.yml
new file mode 100644
index 0000000000000000000000000000000000000000..3f6012aeb73896481de2845caffe080813007f35
--- /dev/null
+++ b/group_vars/buildservers.yml
@@ -0,0 +1,2 @@
+---
+enable_zram_swap: true
diff --git a/roles/archbuild/tasks/main.yml b/roles/archbuild/tasks/main.yml
index 2579632a02b2023b9c889e3cb4ec6bb1f4629d8a..958ffeee20036dbb9144b54e218ce63fa83d4a43 100644
--- a/roles/archbuild/tasks/main.yml
+++ b/roles/archbuild/tasks/main.yml
@@ -4,7 +4,7 @@
   pacman: name="appstream-generator" state=present
 
 - name: install archbuild
-  pacman: name=systemd-swap,devtools,zsh,git,subversion,mercurial,bzr,xdelta3,ruby,tig,colordiff state=present
+  pacman: name=devtools,zsh,git,subversion,mercurial,bzr,xdelta3,ruby,tig,colordiff state=present
 
 - name: install archbuild scripts
   copy: src={{ item }} dest=/usr/local/bin/{{ item }} owner=root group=root mode=0755
@@ -40,13 +40,9 @@
     - mkpkg@.timer
     - mkpkg@.service
 
-- name: install systemd-swap config
-  copy: src=swap.conf dest=/etc/systemd/swap.conf owner=root group=root mode=0644
-
 - name: start and enable archbuild mounts
   service: name={{ item }} enabled={{"yes" if archbuild_fs == 'tmpfs' else "no"}} state={{"started" if archbuild_fs == 'tmpfs' else "stopped"}}
   with_items:
-    - systemd-swap.service
     - var-lib-archbuild.mount
 
 - name: start and enable archbuilddest mount
diff --git a/roles/common/defaults/main.yml b/roles/common/defaults/main.yml
index a8144294bcb0004c76c307b8042876f797ba1ecf..74bc834dbb5332cc49c291b21a90321161904851 100644
--- a/roles/common/defaults/main.yml
+++ b/roles/common/defaults/main.yml
@@ -1,5 +1,6 @@
 ---
 configure_network: false
+enable_zram_swap: false
 network_interface: "e*"
 dns_servers:
   - 8.8.8.8
diff --git a/roles/archbuild/files/swap.conf b/roles/common/files/zram-swap.conf
similarity index 88%
rename from roles/archbuild/files/swap.conf
rename to roles/common/files/zram-swap.conf
index 0ea88520c9f24005b605990c62b7839d3137015b..90517e44b304d606d606af9c86e5b51b6f3f2299 100644
--- a/roles/archbuild/files/swap.conf
+++ b/roles/common/files/zram-swap.conf
@@ -14,10 +14,10 @@
 # Zswap create compress cache between swap and memory for reduce IO
 # https://www.kernel.org/doc/Documentation/vm/zswap.txt
 
-zswap_enabled=1
+zswap_enabled=0
 zswap_compressor=lz4      # lzo lz4
 zswap_max_pool_percent=25 # 1-99
-zswap_zpool=z3fold        # zbud z3fold
+zswap_zpool=zbud          # zbud z3fold
 
 ################################################################################
 # ZRam
@@ -26,7 +26,7 @@ zswap_zpool=z3fold        # zbud z3fold
 # Zram compression streams count for additional information see:
 # https://www.kernel.org/doc/Documentation/blockdev/zram.txt
 
-zram_enabled=0
+zram_enabled=1
 zram_size=$(($RAM_SIZE/4))      # This is 1/4 of ram size by default.
 zram_streams=$NCPU
 zram_alg=lz4                    # lzo lz4 deflate lz4hc 842 - for Linux 4.8.4
@@ -37,11 +37,11 @@ zram_prio=32767                 # 1 - 32767
 # Allocate swap files dynamically
 # For btrfs fallback to swapfile + loop will be used
 # ex. Min swap size 512M, Max 8*512M
-swapfc_enabled=1
+swapfc_enabled=0
 swapfc_force_use_loop=0     # Force usage of swapfile + loop
-swapfc_frequency=60s        # How often check free swap space
-swapfc_chunk_size=10G       # Allocate size of swap chunk
-swapfc_max_count=1          # 0 - unlimited, note: 32 is a kernel maximum
+swapfc_frequency=1s         # How often check free swap space
+swapfc_chunk_size=512M      # Allocate size of swap chunk
+swapfc_max_count=8          # 0 - unlimited, note: 32 is a kernel maximum
 swapfc_free_swap_perc=15    # Add new chunk if free < 15%
                             # Remove chunk if free > 15+40% & chunk count > 2
 swapfc_path=/var/lib/systemd-swap/swapfc/
diff --git a/roles/common/handlers/main.yml b/roles/common/handlers/main.yml
index 79f4423b2a9fd2c9f424f583af6514f774e76894..004a6ef0fc1f31aea2071324ca8794593bc39924 100644
--- a/roles/common/handlers/main.yml
+++ b/roles/common/handlers/main.yml
@@ -11,3 +11,6 @@
 
 - name: restart syslog-ng
   service: name=syslog-ng@default state=restarted
+
+- name: restart systemd-swap
+  service: name=systemd-swap state=restarted
diff --git a/roles/common/tasks/main.yml b/roles/common/tasks/main.yml
index a8fd8e9c04a4f275261fde2d9060a35ff00690d6..deec2b631aa31feb064dd4556c25f4f54356a9af 100644
--- a/roles/common/tasks/main.yml
+++ b/roles/common/tasks/main.yml
@@ -98,6 +98,20 @@
   notify:
     - systemd daemon-reload
 
+- name: install systemd-swap
+  pacman: name=systemd-swap state=present
+  when: enable_zram_swap
+
+- name: install systemd-swap config for zram
+  copy: src=zram-swap.conf dest=/etc/systemd/swap.conf owner=root group=root mode=0644
+  notify:
+    - restart systemd-swap
+  when: enable_zram_swap
+
+- name: start systemd-swap
+  service: name=systemd-swap state=started enabled=yes
+  when: enable_zram_swap
+
 - name: install logrotate
   pacman: name=logrotate state=present