我可以告诉JBoss在运行时使用了多少内存吗?

时间:2016-12-16 17:06:43

标签: java linux memory memory-management jboss

在我们的生产环境中,JBoss 7.1.3在Amazon Linux上使用Java 6。我试图弄清楚JBoss在运行时实际使用了多少分配的内存。我们使用以下参数启动JBoss(使用最大10 GB的空间)...

JAVA_OPTS="-Xms256m -Xmx10240m -XX:-UseGCOverheadLimit -XX:MaxPermSize=512m -Djava.net.preferIPv4Stack=true -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000"

当我跑到顶部时,它显示了这个......

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                                                                       
13252 jboss     20   0 15.6g 9.5g  25m S 126.8 32.3 587:44.01 java  

和Linux freemem显示......

[myuser@east1g ~]$ free -m
             total       used       free     shared    buffers     cached
Mem:         30104      13002      17102          0        162       2099
-/+ buffers/cache:      10739      19365
Swap:            0          0          0

有没有办法告诉我的JBoss进程实际使用了多少已分配的内存?

1 个答案:

答案 0 :(得分:1)

是的,您可以使用jconsole,jvisualvm,jstat等工具..所有这些应用程序都会显示您当前的堆大小(jvm从您的操作系统获取多少内存),以及实际的jvm内存使用情况(jvm可以保留超过它实际使用..)

例如,您可以看到保留了多少内存,以及通过jvisualvm使用了多少内存

enter image description here