A troca é lenta o suficiente para que eu não consideraria “quase sem espaço agora” como um motivo para adicionar mais de 1 GB à sugestão padrão neste momento. Cada 1 GB é muita troca, como experimentado em uma instância dedicada do Discourse.
Sim, por padrão, o Linux usa a troca em ordem de prioridade, e é possível usar a mesma prioridade em vários dispositivos para explicitamente distribuir a troca. Mas adicionar muita troca para sites pequenos não é particularmente valioso, eu sugeriria.
Portanto, se após cerca de uma década as pessoas ocasionalmente esbarram em 2 GB, eu sugeriria mudar para 3 GB em vez de 4 GB como padrão. E a quantidade necessária de troca para uma instância dedicada do Discourse não deve aumentar particularmente com a memória, porque o conteúdo que seria realmente trocado não muda particularmente muito.
A ideia de aumentar a troca com mais memória vem principalmente da computação de propósito geral, baseada em uma suposição generalizada de que quanto mais RAM você precisa, maior a demanda provável. Mas a pressão de troca em uma instância especializada do Discourse não deve seguir esse padrão, eu acho.
THP são específicos para plataformas que suportam páginas grandes, o que não são todas as plataformas. A maneira genérica de lidar com isso é verificar se ele existe. Em um Raspberry Pi que tenho:
$ sysctl sys.kernel.mm.transparent_hugepage.enabled
sysctl: cannot stat /proc/sys/sys/kernel/mm/transparent_hugepage/enabled: No such file or directory
$ echo $?
255
Em contraste, o overcommit é um parâmetro geral de VM para Linux nas últimas décadas. No mesmo Raspberry Pi:
$ sysctl vm.overcommit_memory
vm.overcommit_memory = 0
Analisar a saída do free no shell é meio chato. Falando como o autor original do procps, para isso eu apenas procuraria por SwapFree em /proc/meminfo. 