免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1564 | 回复: 2
打印 上一主题 下一主题

LINUX上运行JAVA,但内存不能释放,有何解决办法? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-12-08 10:19 |只看该作者 |倒序浏览
我的应用系统是基于jdk1.4.2环境的,当在LINUX上运行一段时间以后,而且只是运行这个应用,没有开发其他服务(包括telnet,ftp,http,dns都没有启动)发现系统被占用的内存始终在增加。
请问:这种现象是因为JAVA程序中有内存泄露吗?
     我如何控制java虚拟机可以管理的内存呢?
     有那些内存管理或泄露的检查工具,可以对内存泄露进行查看呢?

内存的使用情况用top查看的结果如下:
35 processes: 34 sleeping, 1 running, 0 zombie, 0 stopped
CPU states:   0.0% user   0.0% system   0.0% nice   0.0% iowait  99.9% idle
Mem:   512796k av,  205164k used,  307632k free,       0k shrd,   44908k buff
                    145636k actv,    1708k in_d,    5584k in_c
Swap: 1044216k av,       0k used, 1044216k free                   80996k cached

  PID USER     PRI  NI  SIZE  RSS SHARE STAT %CPU %MEM   TIME CPU COMMAND
    1 root      15   0   476  476   424 S     0.0  0.0   0:03   0 init
    2 root      15   0     0    0     0 SW    0.0  0.0   0:00   0 keventd
    3 root      15   0     0    0     0 SW    0.0  0.0   0:00   0 kapmd
    4 root      34  19     0    0     0 SWN   0.0  0.0   0:01   0 ksoftirqd_CPU0
    9 root      25   0     0    0     0 SW    0.0  0.0   0:00   0 bdflush
    5 root      15   0     0    0     0 SW    0.0  0.0   0:00   0 kswapd
    6 root      15   0     0    0     0 SW    0.0  0.0   0:00   0 kscand/DMA
    7 root      15   0     0    0     0 SW    0.0  0.0   0:00   0 kscand/Normal
    8 root      15   0     0    0     0 SW    0.0  0.0   0:00   0 kscand/HighMem
   10 root      15   0     0    0     0 SW    0.0  0.0   0:00   0 kupdated
   11 root      24   0     0    0     0 SW    0.0  0.0   0:00   0 mdrecoveryd
   15 root      15   0     0    0     0 SW    0.0  0.0   0:00   0 kjournald
  621 root      15   0     0    0     0 SW    0.0  0.0   0:00   0 kjournald
  998 root      15   0   580  580   504 S     0.0  0.1   0:00   0 syslogd
1002 root      15   0   428  428   376 S     0.0  0.0   0:00   0 klogd
1020 rpc       24   0   548  548   472 S     0.0  0.1   0:00   0 portmap
1039 rpcuser   25   0   688  688   608 S     0.0  0.1   0:00   0 rpc.statd
1106 root      24   0   492  492   444 S     0.0  0.0   0:00   0 apmd
1147 root      15   0  1504 1504  1260 S     0.0  0.2   0:00   0 sshd
1161 root      24   0   852  852   732 S     0.0  0.1   0:00   0 xinetd
1182 root      15   0  2588 2588  1928 S     0.0  0.5   0:00   0 sendmail
1191 smmsp     15   0  2320 2312  1784 S     0.0  0.4   0:00   0 sendmail
1209 root      25   0 32348  31M  8904 S     0.0  6.3   0:05   0 java
1218 root      15   0   568  568   508 S     0.0  0.1   0:00   0 crond
1236 root      15   0  1888 1888  1408 S     0.0  0.3   0:00   0 cupsd
1302 daemon    15   0   528  528   472 S     0.0  0.1   0:00   0 atd
1310 root      21   0   396  396   348 S     0.0  0.0   0:00   0 mingetty
1311 root      21   0   396  396   348 S     0.0  0.0   0:00   0 mingetty
1312 root      21   0   400  400   348 S     0.0  0.0   0:00   0 mingetty
1313 root      21   0   400  400   348 S     0.0  0.0   0:00   0 mingetty
1314 root      21   0   400  400   348 S     0.0  0.0   0:00   0 mingetty
1315 root      21   0   400  400   348 S     0.0  0.0   0:00   0 mingetty
3518 root      23   0  1364 1364  1096 S     0.0  0.2   0:00   0 bash
3555 root      23   0  1020 1020   844 R     0.0  0.1   0:00   0 top





其中进程1209,就是我的应用系统,运行一段时间后,其中在RSS列的值会增加。

论坛徽章:
0
2 [报告]
发表于 2004-12-08 15:31 |只看该作者

LINUX上运行JAVA,但内存不能释放,有何解决办法?

这个问题困扰我好久了,一直没有办法.
谢谢,那位高手可以解决?

论坛徽章:
5
荣誉会员
日期:2011-11-23 16:44:17CU大牛徽章
日期:2013-09-18 15:15:15CU大牛徽章
日期:2013-09-18 15:15:45未羊
日期:2014-02-25 14:37:19射手座
日期:2014-12-26 22:55:37
3 [报告]
发表于 2004-12-08 20:25 |只看该作者

LINUX上运行JAVA,但内存不能释放,有何解决办法?

根本不是问题。
307632k free,
有问题吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP