Java · Avançado · Inglês · Técnico
metaspace
Região de memória nativa, fora da heap, onde a JVM guarda metadados de classes, como estruturas de métodos e constant pools. Substituiu a PermGen no Java 8.
Onde usar
Aparece em OutOfMemoryError: Metaspace e em redeploys de aplicações que vazam classloaders. Controle: -XX:MaxMetaspaceSize.
Em código
# limita o metaspace a 256 MB
java -XX:MaxMetaspaceSize=256m -jar app.jar
# acompanha o uso
jcmd 4242 VM.metaspaceExemplos
We hit an OutOfMemoryError in Metaspace after several redeploys.
Tomamos um OutOfMemoryError no Metaspace depois de vários redeploys.
Metaspace lives outside the heap, in native memory.
O Metaspace fica fora da heap, na memória nativa.
Cuidado
Por padrão não tem limite além da memória do sistema; sem teto, um vazamento de classes consome a RAM do host.
Antônimos
PermGen
Origem
Do grego meta, além de, mais o inglês space: espaço para os dados sobre as classes.