- 论坛徽章:
- 0
|
原帖由 luobotou 于 2008-4-21 09:31 发表 ![]()
前几天该台服务器上出现了“Out of memory:OOM Killer kill process xxx”的日志。google了一下,发现是系统内存耗尽了。内存检测时,发现java进程使用了很大的内存,怀疑该进程导致了内存泄露.使用pmap命令,发 ...
anon是正常的。至于看这个java的进程是否溢出,可以看他的启动的时候分配的jvm的内存大小跟当前使用的内存大小是否相差过大。
那我下面的这个例子看(有些命令是solaris上的,linux下有所不同)
bash-2.05$ /usr/ucb/ps -auxww|grep usr|grep java
usr 13601 33.3 14.21357080850072 ? O 05:01:25 10:16 /opt/bea/jdk/bin/java -verbose:gc -server -Xms128m -Xmx128m -
看到上面有个-Xmx128m,就是说jvm虚拟机最大可以占128M内存,如果这个参数指定的内存比我们实际用ps看到的小很多,那么就是这个java进程溢出了(out of memory)。
比如我制定了128M,但是实际上这个进程已经使用了300M内存,那么这个java进程肯定就是有问题了,需要重新启动下。 |
|