Как лучше оптимизировать память и swap в ubuntu server18.04?
Надо не "оптимизировать память", а ограничивать процессы по занимаемому объёму.
Проблема: на тестовых серверах постоянная нехватка памяти, и сервера периодически перестают отвечать, помогает только перезагрузка принудительная.
При этом памяти показывает что занято чуть больше половины,

Тогда откуда уверенность что проблема в памяти? У вас есть мониторинг CPU / IO? 
Что в логах?