有个方法, 虽然有点笨, 但简单有效。
用记事本写一个bat文件。 内容如下:
net stop "World Wide Web Publishing Service"
net Stop "HTTP SSL"
net Stop "MSSQLSERVER"
net start "World Wide Web Publishing Service"
net start "HTTP SSL"
net start "MSSQLSERVER"
然后加入计划任务里, 让它每天重启一下。
内存溢出是指应用系统中存在无法回收的内存或使用的内存过多,最终使得程序运行要用到的内存大于虚拟机能提供的最大内存。内存中加载的数据量过于庞大,如一次从数据库取出过多数据;集合类中有对对象的引用,使用完后未清空,使得JVM不能回收;代码中存在死循环或循环产生过多重复的对象实体;使用的第三方软件中的BUG;启动参数内存值设定的过小;
检查对数据库查询中,是否有一次获得全部数据的查询。一般来说,如果一次取十万条记录到内存,就可能引起内存溢出。这个问题比较隐蔽,在上线前,数据库中数据较少,不容易出问题,上线后,数据库中数据多了,一次查询就有可能引起内存溢出。因此对于数据库查询尽量采用分页的方式查询。
检查代码中是否有死循环或递归调用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)