Mongodb 定時釋放記憶體

來源:互聯網
上載者:User

對於主要是寫入的資料庫,mongodb記憶體佔滿之後寫入效率會變得不穩定

這個時候,你需要釋放記憶體(可試用db.runCommand({closeAllDatabases:1}) )實現

下面的c#代碼可以用來定時釋放記憶體,使用的時候注意把路徑換成你伺服器的路徑,另外就是修改下釋放頻率

Technorati 標籤: mongodb
class Program    {        static void Main(string[] args)        {            while (true)            {                new Thread(delegate()                {                    Console.WriteLine("開始釋放");                    Cmd(@"echo 正在啟動MongoDBd:cd D:\mongodb\binmongouse admindb.runCommand({closeAllDatabases:1})", "bye");                    Console.WriteLine("釋放完成");                }).Start();                // 三小時                Thread.Sleep(3 * 3600 * 1000);            }        }        ///         /// 執行命令        ///         ///         ///         static void Cmd(string cmd, string end)        {            Process process = new Process            {                StartInfo =                {                    FileName = "cmd.exe",                    UseShellExecute = false,                    RedirectStandardInput = true,                    RedirectStandardOutput = true,                    RedirectStandardError = true,                    CreateNoWindow = true                }            };            process.Start();            process.StandardInput.AutoFlush = true;            process.StandardInput.WriteLine(cmd);            process.StandardInput.WriteLine("exit");            var outPut = "";            while (!(outPut = process.StandardOutput.ReadLine()).Contains(end))            {                Console.WriteLine(outPut);            }            Console.WriteLine(outPut);            if (process.HasExited == false)                //Process is still running.                //Test to see if the process is hung up.                if (process.Responding)                    //Process was responding; close the main window.                    process.CloseMainWindow();                else                    //Process was not responding; force the process to close.                    process.Kill();            process.Close();        }    }
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.