Isso é o que eu uso em sistemas baseados no Debian. É uma versão melhorada da resposta de Dan. Ele obtém a memória disponível de um grão, multiplica por 2, para criar o arquivo de troca com o tamanho apropriado. Também faz uma entrada em / etc / fstab, se não existir.
coreutils:
pkg.installed
/swapfile:
cmd.run:
- name: |
[ -f /swapfile ] || dd if=/dev/zero of=/swapfile bs=1M count={{ grains["mem_total"] * 2 }}
chmod 0600 /swapfile
mkswap /swapfile
swapon -a
- unless:
- file /swapfile 2>&1 | grep -q "Linux/i386 swap"
mount.swap:
- persist: true