O código que você citou fará com que o kernel descarte qualquer dado em cache que tenha ... o que é exatamente a memória que ele teria descartado assim que algo quisesse usar mais memória de qualquer forma. Não terá efeito prático no seu sistema.
Por fim, além de executar menos software ou reiniciar processos, não há nada que você possa fazer para recuperar memória extra. O Linux não possui mecanismo para sinalizar a pressão da memória para um aplicativo antes de eliminá-lo como "sem memória".