Creo que el problema original probablemente fue que un proceso fue eliminado porque la máquina se quedó sin memoria (cuidado con el asesino OOM). Agregar swap significó que la memoria no se agotó. Esas dos salidas de free podrían no contar toda la historia, a menos que se tomaran con mucho cuidado en el momento de mayor estrés de la máquina. Creo que lo interesante es el uso máximo del swap.
Pero también está la cuestión de la configuración del kernel como se menciona en
MKJ’s Opinionated Discourse Deployment Configuration
que tengo configurada correctamente, pero que quizás mucha gente no tiene configurada correctamente.
Vale la pena señalar que la sobreasignación de memoria no tiene mucho que ver con Redis. Es solo que Redis es lo suficientemente amable como para indicar que debe configurarse correctamente.