então, sou novo em aplicativos caros de RAM e realmente não sei como o swap está funcionando ...
Tenho apenas 10GiB de RAM (é uma VM) e 500GB/1TB de espaço disponível no HDD
o aplicativo java precisa de aproximadamente 150/200GiB de memória para ser executado, mas posso reduzi-lo para 64GiB. Acho que nem tudo é carregado ao mesmo tempo, mas o Java ainda precisa alocar espaço de heap
Quanto espaço de troca devo alocar? Como vai funcionar? Como o sistema operacional responderá? (Eu sei que é usado quando o ram está cheio/reduz o uso do ram, mas infelizmente não encontrei informações muito mais úteis)
A soma da RAM física (utilizável) e o espaço de troca deve ser maior que a quantidade combinada de RAM que o kernel e todos os processos em execução alocam. Obviamente, usar muito espaço de troca pode tornar o sistema terrivelmente lento.
Portanto, se não houver nada além do seu aplicativo que precise de muita memória, você deve ter pelo menos 65GiB, ou seja, 55GiB de espaço de troca.
É difícil dizer se o Linux ou seu aplicativo é mais eficaz com o gerenciamento de memória. Portanto, sugiro alocar 210GiB para troca (percebo o quão louco isso parece...) e comparar o desempenho do aplicativo com diferentes configurações de memória do aplicativo.
Você pode alterar a quantidade de espaço de swap em um sistema em execução, por exemplo, se você tiver LVM e vários LVs que você pode usar para swap. Veja
man swapon
.