以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]服务端缓存问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=114289)

--  作者:yjh2002
--  发布时间:2018/2/2 13:44:00
--  [求助]服务端缓存问题
bs开发下,后台服务端时间运行后,占用的内存会越来越多,如何在不关闭后台服务的情况清理占用的内存?
--  作者:有点甜
--  发布时间:2018/2/2 14:30:00
--  

试试执行这句代码,如果有效,就定时执行。

 

gc.collect

 

再有就是,如果你服务器端的代码要注意,尽量避免使用内存后不释放的情况,也就是少用vars、public变量,如果用了,记得释放。


--  作者:yjh2002
--  发布时间:2018/2/2 14:32:00
--  
vars,public定义以后难道不是只需要调用吗?还会不断增加内存吗?
--  作者:有点甜
--  发布时间:2018/2/2 14:54:00
--  
以下是引用yjh2002在2018/2/2 14:32:00的发言:
vars,public定义以后难道不是只需要调用吗?还会不断增加内存吗?

 

vars、public变量可以用,但尽量不要动态增加,比如你原先有100个,然后有代码增加到200、300......之类的,这些变量占用内存的。

 

是否增加内存,得视具体情况而定,比如一个public的字典/集合,字典/集合是可以添加无数个变量的,每个变量都占用内存,如果要移除内存,你需要把添加的变量移除。


--  作者:有点甜
--  发布时间:2018/2/2 14:55:00
--  

最彻底的解决的方法,还是【重启程序】,你可以在半夜的某个时候,自己把自己重启了。


--  作者:yjh2002
--  发布时间:2018/2/2 15:01:00
--  
怎样设置自己重启自己呢?
--  作者:有点甜
--  发布时间:2018/2/2 15:38:00
--  

参考 http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=113985&skin=0

 


--  作者:yjh2002
--  发布时间:2018/2/2 15:45:00
--  
谢谢您,我先看看。