zoukankan      html  css  js  c++  java
  • C# 释放内存的方法

    如何释放内存:

     1 [DllImport("kernel32.dll", EntryPoint = "SetProcessWorkingSetSize")]
     2 public static extern int SetProcessWorkingSetSize(IntPtr process, int minSize, int maxSize);
     3 
     4 /// <summary>
     5 /// 释放内存
     6 /// </summary>
     7 public static void ClearMemory()
     8 {
     9      GC.Collect();
    10      GC.WaitForPendingFinalizers();
    11      if (Environment.OSVersion.Platform == PlatformID.Win32NT)
    12      {
    13          SetProcessWorkingSetSize(Process.GetCurrentProcess().Handle, -1, -1);
    14      }
    15 }

    如何获取当前应用占用的内存大小:

     1 /// <summary>
     2 /// 释放内存
     3 /// </summary>
     4 public static void ClearMemory()
     5 {
     6      //获得当前工作进程
     7      Process proc = Process.GetCurrentProcess();
     8      long usedMemory = proc.PrivateMemorySize64;
     9      if (usedMemory > 1024 * 1024 * 20)
    10      {
    11          GC.Collect();
    12          GC.WaitForPendingFinalizers();
    13          if (Environment.OSVersion.Platform == PlatformID.Win32NT)
    14          {
    15              SetProcessWorkingSetSize(Process.GetCurrentProcess().Handle, -1, -1);
    16          }
    17      }
    18 }
  • 相关阅读:
    zabbix
    Tomcat 部署Web应用
    WebLogic
    WebLogic部署集群和代理服务器
    WebLogic 中的基本概念
    GIT详解和GITHUB
    Tomcat 内存溢出对应解决方式
    apache和tomcat区别
    数据库介绍
    The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
  • 原文地址:https://www.cnblogs.com/ybqjymy/p/14275706.html
Copyright © 2011-2022 走看看