explain high virtual memory claimed by Java process

Wolfgang Pedot wolfgang.pedot at finkzeit.at
Wed Aug 8 07:04:08 UTC 2018


Hi,

maybe pmap can help shed some light on this.
Memory mapped files/stuff (like GPU registers/mem) also contribute to 
virtual size without actually using RAM, could that be the cause?

Wolfgang

Am 08.08.2018 um 04:40 schrieb Tao Mao:
> Hi gc exports,
>
> I have a Java  application with following JVM options:
> "-Xms128m -Xmx256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m"
>
> When I use top to check memory usage, I got a very high virtual memory 
> but a reasonable resident memory as below:
>
> PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
> 93704 root 20 0 *11.4g* *477m* 19m S 0.0 0.1 26:53.65 java
>
> I understand the claimed virtual memory can be more than heapsize + 
> metaspaceSize due to overheads in JVM implementation. I would expect 
> this number to be a couple times of the size (heapsize + 
> metaspaceSize) at most. But in this case it's >20 times.
>
> The claimed virtual memory usually is comprised of heap size, 
> metaspace Size, and stack space. Could someone explain what else can 
> contribute to this high markup? Thanks.
>
> # java -version
> java version "1.8.0_172"
> Java(TM) SE Runtime Environment (build 1.8.0_172-b11)
> Java HotSpot(TM) 64-Bit Server VM (build 25.172-b11, mixed mode)
>
> Regards,
> Tao Mao
>
>
> _______________________________________________
> hotspot-gc-use mailing list
> hotspot-gc-use at openjdk.java.net
> http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use



More information about the hotspot-gc-use mailing list