zoukankan      html  css  js  c++  java
  • SetProcessWorkingSetSize减少内存占用

    系统启动起来以后,内存占用越来越大,使用析构函数、GC.Collect什么的也不见效果,后来查了好久,找到了个办法,就是使用 SetProcessWorkingSetSize函数。这个函数是Windows API 函数。下面是使用的方法:

    [System.Runtime.InteropServices.DllImportAttribute("kernel32.dll", EntryPoint = "SetProcessWorkingSetSize", ExactSpelling = true, CharSet =
    System.Runtime.InteropServices.CharSet.Ansi, SetLastError 
    = true)]
    private static extern int SetProcessWorkingSetSize(IntPtr process, int minimumWorkingSetSize, int maximumWorkingSetSize);

    public void Dispose()
    {
        GC.Collect();
        GC.SuppressFinalize(
    this);

        
    if (Environment.OSVersion.Platform == PlatformID.Win32NT)
        
    {
            SetProcessWorkingSetSize(System.Diagnostics.Process.GetCurrentProcess().Handle, 
    -1-1);
        }

    }

    使用这个函数也会有些问题,具体的可以参见:

    http://hi.baidu.com/taobaoshoping/blog/item/a1f6baf52d523a21bd3109f5.html

  • 相关阅读:
    php流程控制
    php运算符
    php数据类型
    php基础
    谈谈2019年
    聊聊这三年
    第二次作业(源代码)
    个人介绍
    22.python匿名函数详解
    11.python内置模块之json模块
  • 原文地址:https://www.cnblogs.com/pdfw/p/1441477.html
Copyright © 2011-2022 走看看