Por que um programa Java vazio consome memóri
Estou explorando o uso de memória em Java para entender por que meu programa vaza memória. Depois de retirar o código no meu loop while principal, ainda recebo um aumento no uso da memória ao longo do tempo. Ponderando o uso de memória de um programa vazio:
class Nothing
{ public static void main(String[] args)
{ while(true); }
}
Eu ainda vi um aumento de memória:
Então, minha pergunta é: Por que ainda existe um padrão de dente de serra? Por que, quando o GC é executado, ele não salva toda a memória (cada vez que o gc é executado (os vales), a memória usada aumenta em 10-20Kb (em comparação com o vale anterior))
EDITAR
java versão "1.6.0_29"
Java (TM) SE Runtime Environment (compilação 1.6.0_29-b11)
liente VM do Java HotSpot (TM) (build 20.4-b02, modo misto, compartilhament
OS: Windows 7 Enterprise-32 bits