问题描述
当我用GridFS时候把文件存储到mongoDB中时,机器的内存不断增长,怎么控制一下内存使用?
解决方案
解决方案二:
目前的办法就是调一下批处理来释放或者如下:classProgram02{03staticvoidMain(string[]args)04{05while(true)06{07newThread(delegate()08{09Console.WriteLine("开始释放");10Cmd(@"echo正在启动MongoDB11d:12cdD:mongodbbin13mongo14useadmin15db.runCommand({closeAllDatabases:1})16","bye");17Console.WriteLine("释放完成");18}).Start();1920//三小时21Thread.Sleep(3*3600*1000);22}23}2425///<SUMMARY>26///执行命令27///</SUMMARY>28///<PARAMname="cmd"/></PARAM>29///<RETURNS></RETURNS>30staticvoidCmd(stringcmd,stringend)31{32Processprocess=newProcess33{34StartInfo=35{36FileName="cmd.exe",37UseShellExecute=false,38RedirectStandardInput=true,39RedirectStandardOutput=true,40RedirectStandardError=true,41CreateNoWindow=true42}43};44process.Start();45process.StandardInput.AutoFlush=true;46process.StandardInput.WriteLine(cmd);47process.StandardInput.WriteLine("exit");48varoutPut="";4950while(!(outPut=process.StandardOutput.ReadLine()).Contains(end))51{52Console.WriteLine(outPut);53}5455Console.WriteLine(outPut);5657if(process.HasExited==false)58//Processisstillrunning.59//Testtoseeiftheprocessishungup.60if(process.Responding)61//Processwasresponding;closethemainwindow.62process.CloseMainWindow();63else64//Processwasnotresponding;forcetheprocesstoclose.65process.Kill();6667process.Close();68}69}
解决方案三:
控制不了,内存会被全部占用的
解决方案四:
操作系统本身对内核级“内存映射文件”技术做了很多优化,占用内存再多,你的其它应用程序的性能也基本上也不受影响。你测试一下看看。
解决方案五:
硬件升级也是一个办法,装64位操作系统