diff --git a/roles/common/files/zram-generator.conf b/roles/common/files/zram-generator.conf
index 507a0c47a23c2091d7a97472c6ff5f6c79bba784..c604b0b15bfda33a9cb4cc9989cf0e66bd65f246 100644
--- a/roles/common/files/zram-generator.conf
+++ b/roles/common/files/zram-generator.conf
@@ -1 +1,2 @@
 [zram0]
+max-zram-size = none
diff --git a/roles/common/handlers/main.yml b/roles/common/handlers/main.yml
index d4bc10407da45d2093992c506331ab3648a386eb..503bc239b969d8d4dedba3b1a79464aae8eb1871 100644
--- a/roles/common/handlers/main.yml
+++ b/roles/common/handlers/main.yml
@@ -19,5 +19,5 @@
 - name: restart syslog-ng
   service: name=syslog-ng@default state=restarted
 
-- name: restart swap.target
-  service: name=swap.target state=restarted daemon_reload=yes
+- name: restart systemd-zram-setup@zram0
+  service: name=systemd-zram-setup@zram0 state=restarted daemon_reload=yes
diff --git a/roles/common/tasks/main.yml b/roles/common/tasks/main.yml
index 0ab3b419a7e0356d7a3d4dba45bf4273124dde6e..52d8a865d6e8707b22da62d171e2cd9bae5bf88a 100644
--- a/roles/common/tasks/main.yml
+++ b/roles/common/tasks/main.yml
@@ -141,9 +141,18 @@
 - name: install zram-generator config for zram
   copy: src=zram-generator.conf dest=/etc/systemd/zram-generator.conf owner=root group=root mode=0644
   notify:
-    - restart swap.target
+    - restart systemd-zram-setup@zram0
   when: enable_zram_swap
 
+- name: disable zswap to prevent conflict with zram
+  copy: content="w- /sys/module/zswap/parameters/enabled - - - - N" dest=/etc/tmpfiles.d/zram.conf
+  register: zramtmpfiles
+  when: enable_zram_swap
+
+- name: use tmpfiles.d/zram.conf
+  command: systemd-tmpfiles --create
+  when: zramtmpfiles.changed
+
 - name: start systemd-oomd
   service: name=systemd-oomd state=started enabled=yes