我在Linux Centos機器上運行Java Web應用程序(J2EE + Tomcat6 + struts2 + hibernate)。 問題是「頂部」命令說java正在使用14%的內存(超出8G),但在摘要信息部分,表示整體可用內存爲300M! (只是Mem,不換)Java Web應用程序:奇怪的內存統計
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ SWAP TIME CODE DATA nFLT COMMAND
666 root 20 0 1352m 1.2g 10m S 7.6 14.7 663:00.37 158m 663:00 36 1.3g 65 java
3170 mysql 18 0 145m 33m 5044 S 0.7 0.4 753:51.96 111m 753:51 6496 132m 100 mysqld
17340 root 15 0 2332 1080 800 R 0.3 0.0 0:00.05 1252 0:00 56 468 0 top
1 root 15 0 2068 628 536 S 0.0 0.0 0:02.58 1440 0:02 32 280 20 init
2 root RT -5 0 0 0 S 0.0 0.0 0:00.18 0 0:00 0 0 0 migration/0
3 root 34 19 0 0 0 S 0.0 0.0 0:00.00 0 0:00 0 0 0 ksoftirqd/0
4 root RT -5 0 0 0 S 0.0 0.0 0:00.00 0 0:00 0 0 0 watchdog/0
5 root RT -5 0 0 0 S 0.0 0.0 0:00.01 0 0:00 0 0 0 migration/1
6 root 34 19 0 0 0 S 0.0 0.0 0:00.00 0 0:00 0 0 0 ksoftirqd/1
7 root RT -5 0 0 0 S 0.0 0.0 0:00.00 0 0:00 0 0 0 watchdog/1
8 root RT -5 0 0 0 S 0.0 0.0 0:00.01 0 0:00 0 0 0 migration/2
.
.
.
and so on...
Mem: 8300688k total, 7998720k used, 301968k free, 52452k buffers
Swap: 16779884k total, 60k used, 16779824k free, 6511228k cached
是什麼問題?祕密地使用記憶有什麼用?非堆或什麼?! 感謝好友。
你能發佈所有的最高統計數據嗎?你當然不只是在你的機器上運行Java。 – Thomas
@托馬斯:我做了好友。他們幾乎都是0%! –