我有一个java进程,我使用-Xmx
开关在命令行分配了768MB,但ps
表示它使用超过900MB!
$ ps -e -o pid,rsz,cmd | sort -n -k 2|tail 17271 941096 java ... -Xmx768m -Xms768m -jar ...
(注意命令行的部分内容已经过编辑以便于阅读)
我发现一些帖子表明这可能是permgen:
Why is the JVM using more memory than I am allocating
Is it possible for a Java memory leak to use more memory than the heap + permgen?
JVM Process vs JVM Heap memory usage
有没有办法控制java使用多少非堆内存?