中易网

运行时错误7内存溢出各位说说怎么办?

答案:3  悬赏:0  
解决时间 2021-11-09 01:26
  • 提问者网友:精神病院里
  • 2021-11-08 01:47
运行时错误7内存溢出各位说说怎么办?
最佳答案
  • 二级知识专家网友:神鬼未生
  • 2021-11-08 01:59
内存溢出的解决方案:

第一步,修改JVM启动参数,直接增加内存。(-Xms,-Xmx参数一定不要忘记加。)

第二步,检查错误日志,查看“OutOfMemory”错误前是否有其它异常或错误。

第三步,对代码进行走查和分析,找出可能发生内存溢出的位置。

重点排查以下几点:
1.检查对数据库查询中,是否有一次获得全部数据的查询。一般来说,如果一次取十万条记录到内存,就可能引起内存溢出。这个问题比较隐蔽,在上线前,数据库中数据较少,不容易出问题,上线后,数据库中数据多了,一次查询就有可能引起内存溢出。因此对于数据库查询尽量采用分页的方式查询。

2.检查代码中是否有死循环或递归调用。

3.检查是否有大循环重复产生新对象实体。

4.检查对数据库查询中,是否有一次获得全部数据的查询。一般来说,如果一次取十万条记录到内存,就可能引起内存溢出。这个问题比较隐蔽,在上线前,数据库中数据较少,不容易出问题,上线后,数据库中数据多了,一次查询就有可能引起内存溢出。因此对于数据库查询尽量采用分页的方式查询。

5.检查List、MAP等集合对象是否有使用完后,未清除的问题。List、MAP等集合对象会始终存有对对象的引用,使得这些对象不能被GC回收。

第四步,使用内存查看工具动态查看内存使用情况
全部回答
  • 1楼网友:封刀令
  • 2021-11-08 03:45
问题现象:   1.预览或打印凭证时报错,提示:   运行时错误   '7':内存溢出   2.   查询明细账点[确认]后报错,提示:   出错:7-内存溢出   解决方法:   方法一:   从其他的电脑上拷贝ufformat.mdb文件,放在:操作系统目录\\system32\\UFCOMSQL下,如放在C:\\WINDOWS\\system32\\UFCOMSQL下。   方法二:从其他的电脑上拷贝ufrtprn.ocx文件,放在C:\\WINDOWS\\system32\\UFCOMSQL下,并对该文件重新注册。            请确认你拷贝的上面两个文件有没有放到上面说的正确文件夹位置,有些时候杀毒软件和防火墙会阻止你对\\windows文件夹里面的文件写入,所以要在操作前把杀毒软件和防火墙关闭后再完成上面操作,然后再把杀毒软件和防火墙打开。 就可以了。
  • 2楼网友:孤老序
  • 2021-11-08 03:22
1、内存溢出不是硬件的毛病,是软件设计不到位,内存溢出比较危险,黑客可以利用这种漏洞编写出特殊程序进行内存溢出攻击,从而取得你的系统权限,控制你的电脑。    2、建议到网上该软件的补丁,或者将软件升级到最新版本。 希望我的回答能帮到您
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息