A necessidade de reiniciar certamente não faz muito sentido - se a sua memória estiver cheia, ela deve estar cheia de algo , e se você parar esse processo (por exemplo o aplicativo java), então essa memória seria liberada.
No entanto, se você precisar fazer isso apenas para poder reiniciar o mesmo aplicativo, há a questão de por que o processo teria crescido para consumir tanta memória dessa maneira. Normalmente, um processo que apenas cresce e cresce e nunca libera qualquer coisa pode ser considerado um que esteja vazando memória devido a um bug interno.
Ou seja, a primeira coisa que você precisa fazer é descobrir qual software especificamente está causando o problema; ferramentas como top
são comumente usadas para isso. Talvez você também esteja interessado em plog .