Você realmente precisa aparar seus serviços. Melhor ainda, você pode querer considerar o uso de inetd ou xinetd (o que se aplica à sua instalação). Em vez de deixar vários serviços lançados e aguardando (e monopolizando a preciosa RAM), talvez você esteja melhor com um desempenho de CPU ao iniciar um serviço quando necessário. E foi para isso que o inetd / xinetd foi feito - eles tinham a intenção de fornecer uma maneira de pouca memória para permitir que os serviços fossem lançados sob demanda, em vez de mantê-los por perto o tempo todo. É claro, sua milhagem pode muito - você ainda pode acabar com problemas de recursos de memória - mas se você ficar em um ponto difícil por enquanto ...
Acompanhamento de onde começar (do comentário):
Eu gostaria de ver o apache sendo transferido primeiro. Reduza a contagem máxima de filhos para apenas 2 - a menos que você esteja atendendo mais usuários do que você, é pouco útil ter 3 processos em execução.
Para o dovecot, especificamente os processos imap-auth, você precisa apenas de um. Você poderia executá-lo no inetd também, embora pareça ser bastante fino. Se você não usa IMAP ou POP no seu servidor, desative-o. Na pior das hipóteses, você volta a ler e-mails em uma linha de comando - não é bonita, mas funcional.
Você também pode mover o sshd, embora eu inicialmente fizesse isso em um número de porta alternativo e confirme que ele se conecta antes de você ligar o switch.
Considere mudar para o Exim se possível (que é a instalação padrão para configurações Debian / Ubuntu). Eu amo o Postfix e não uso o Exim, mas o Debian o escolheu como padrão por uma razão - ele requer poucos recursos e é bastante seguro.
Observe sua configuração / proc / sys / vm / swappiness ( echo /proc/sys/vm/swappiness
) e determine se ela está muito alta ou muito baixa. Um número maior ajudará a liberar memória (trocando para VM antes do tempo), mas quando estiver muito alto você irá trocar como louco. A maioria das instalações diz "60", mas para pouca memória, provavelmente deveria ser mais como 85. Não recomendo 100 em sua configuração.
Por fim, pense em "tela verde". Você está falando sobre o uso de técnicas que existem há muito tempo em sistemas muito mais antigos (porque eles eram recursos restritos também). É um pouco antiquado fazer as coisas dessa maneira, mas se você puder fazer seu trabalho em um programa cliente em um shell, em vez de lançar serviços, você expandirá seus recursos de computação muito mais.