java的一个线程要用多少内存啊,我的机器是linux的,启动tomcat后,一会就死机,如何控制啊!求救啊!!!
我快要烦死了。 问题点数:20、回复次数:12Top
1 楼whodsow(天上星亮晶晶永灿烂长安宁)回复于 2003-11-02 17:51:33 得分 0
就理论而言,一个线程几乎是不需要任何内存的,一般的计算机使用时资源的消耗是相对于进程来说的。Top
2 楼SwordsmanF(香香的味道)回复于 2003-11-02 20:34:37 得分 0
呵呵,看看是不是死循环哟。呵呵Top
3 楼inthewater(inthewater)回复于 2003-11-03 09:34:48 得分 0
我的tomcat在启动时,查看java占用内存时看到的是34m,时间长就看到一点一点的长,长到115m时,运行起来就非常的慢,等于死机了。
而且开始时进程很少,进程在一直添加,添加到40个左右就不加了,大侠,我看了程序,没有发现有问题,但是现在就是不知道为什么啊。
有没有方法限制java使用内存的使用量,当达到一定的数量就进行垃圾收集。现在真的是没有办法!麻烦了。谢谢Top
4 楼SwordsmanF(香香的味道)回复于 2003-11-03 11:35:40 得分 0
一定是有问题。增加的是线程,而你看到的是进程增加啊。线程和进程是两回事,开销也是两回事。Top
5 楼inthewater(inthewater)回复于 2003-11-04 09:59:03 得分 0
SwordsmanF(没人性)
大侠,我也知道有问题,现在我就是不知道问题在那里,大侠,能不能给个提示什么的,我现在很急,谢谢了!Top
6 楼yayv(yayv)回复于 2003-11-05 09:41:24 得分 0
我怀疑是你的tomcat版本有问题,换一个别的版本试试。
Top
7 楼yayv(yayv)回复于 2003-11-05 09:43:47 得分 0
哦,好像可以限制tomcat的进程/线程数,印象中有这么一个选项。Top
8 楼poppop(光盘)回复于 2003-11-05 10:02:46 得分 10
1、先查查你的数据库连接数是否正常;
2、将你的jvm占用内存最大值设为1024m(启动文件中设置,类似-Xmx1024m的参数);
3、检查一下资源占用率;
看看能不能确定问题在哪里
这样的问题通常是在并发处理繁忙(例如很多人使用系统)链接数据库速度较慢造成的,当然前提是你已经确定你的程序中必要的资源清除工作,例如数据库连接等等。
加大内存占用,同时设置连接池的伸缩周期一般可以缓解这样的情况。
Top
9 楼yingyi(应应)回复于 2003-11-05 10:40:55 得分 5
晕,死机可没有发生过。如果这样,估计是你自己的程序的问题。看看有没有数据库问题。Top
10 楼inthewater(inthewater)回复于 2003-11-05 15:08:16 得分 0
高手,我是2G的内存,如何进行设计啊,让他的最大内存使用量是多少啊,我现在很是烦,设计到1024是全部的加一起啊,还是就一个线程啊.真的是不懂啊.请大侠帮忙啊!Top
11 楼poppop(光盘)回复于 2003-11-05 16:06:46 得分 5
总共1024,你看看你的tomcat服务启动文件中设置的值是多少。Top
12 楼xqi8(星期八)回复于 2003-11-05 16:23:20 得分 0
程序的问题吧Top




