SetProcessWorkingSetSize减少内存占用
[DllImport("kernel32.dll", EntryPoint = "SetProcessWorkingSetSize")]
public static extern int SetProcessWorkingSetSize(IntPtr process, int minSize, int maxSize);
/// <summary>
/// 释放内存
/// </summary>
public static void ClearMemory()
{
GC.Collect();
GC.WaitForPendingFinalizers();
if (Environment.OSVersion.Platform == PlatformID.Win32NT)
{
SetProcessWorkingSetSize(Process.GetCurrentProcess().Handle, -1, -1);
}
}
如何获取当前应用占用的内存大小:
/// <summary>
/// 释放内存
/// </summary>
public static void ClearMemory()
{
//获得当前工作进程
Process proc = Process.GetCurrentProcess();
long usedMemory = proc.PrivateMemorySize64;
if (usedMemory > 1024 * 1024 * 20)
{
GC.Collect();
GC.WaitForPendingFinalizers();
if (Environment.OSVersion.Platform == PlatformID.Win32NT)
{
SetProcessWorkingSetSize(Process.GetCurrentProcess().Handle, -1, -1);
}
}
}
SetProcessWorkingSetSize减少内存占用的更多相关文章
- C# 处理应用程序减少内存占用
SetProcessWorkingSetSize减少内存占用 系统启动起来以后,内存占用越来越大,使用析构函数.GC.Collect什么的也不见效果,后来查了好久,找到了个办法,就是使用 SetPro ...
- 怎样使java程序减少内存占用(转载)
本文收集网上关于减少java程序占用的一些小知识点 (1)别用new Boolean(). 在很多场景中Boolean类型是必须的,比如JDBC中boolean类型的set与get都是通过Boolea ...
- docker 安装 MySQL 8,并减少内存占用 记录
目前vps 1cpu 512m内存 MySQL内存占用77% ,约350m ,经过修改配置文件优化后如下 $ ps aux 进入docker bash $ docker exec -it pwc-my ...
- python3使用迭代生成器yield减少内存占用
技术背景 在python编码中for循环处理任务时,会将所有的待遍历参量加载到内存中.其实这本没有必要,因为这些参量很有可能是一次性使用的,甚至很多场景下这些参量是不需要同时存储在内存中的,这时候就会 ...
- 使用ExpandableListView以及如何优化view的显示减少内存占用
上篇博客讲到如何获取手机中所有歌曲的信息.本文就把上篇获取到的歌曲按照歌手名字分类.用一个ExpandableListView显示出来. MainActivity .java public cla ...
- webstorm减少内存占用
首先,按照我说的设置之后要重启才行. 在项目里找到不需要监听的文件夹右键:Mark Directory As => Cancel Exclusion 然后重启,嘿嘿,成功了!
- Drawable实战解析:Android XML shape 标签使用详解(apk瘦身,减少内存好帮手)
Android XML shape 标签使用详解 一个android开发者肯定懂得使用 xml 定义一个 Drawable,比如定义一个 rect 或者 circle 作为一个 View 的背景. ...
- Android XML shape 标签使用详解(apk瘦身,减少内存好帮手)
Android XML shape 标签使用详解 一个android开发者肯定懂得使用 xml 定义一个 Drawable,比如定义一个 rect 或者 circle 作为一个 View 的背景. ...
- .Net Core项目在Docker上运行,内存占用过多导致pods重启的问题
默认情况下,.NET Core应用的内存回收模式是Server模式,这种情况下,内存占用和服务器核心数量有关,一半占用量比较大. 我们的应用目前吞吐量都不大,可以采用Workstation模式,这种模 ...
随机推荐
- Lucene入门实例-CRUD
1.导入jar包 lucene-analyzers-common-7.6.0.jar lucene-analyzers-smartcn-7.6.0.jar lucene-core-7.6.0.jar ...
- Chrome中Vim插件cVim
参考资料:http://blog.csdn.net/hk2291976/article/details/51280816 常用命令: k,w:上移; j,s:下移:h:向左:l:向右:u:上半页d:下 ...
- day7接口开发
一.数据库操作, 1.创建游标时指定游标类型为字典,返回值类型为字典,方便取值 cur = coon.cursor(cursor=pymysql.cursor.Dictursor) 2.获取执行查询S ...
- c c++ 数组初始化
1.写个for循环,挨个赋值 2.memset函数,头文件 string.h 或者是cstring 3.int a[10]={0};对第一个元素赋值,后面也就都是0了,或者是直接int a[10]={ ...
- PAT基础6-3
6-3 简单求和 (10 分) 本题要求实现一个函数,求给定的N个整数的和. 函数接口定义: int Sum ( int List[], int N ); 其中给定整数存放在数组List[]中,正整数 ...
- Spring Boot使用Druid连接池基本配置
以下为Spring Boot配置Druid 一.pom.xml配置 <dependency> <groupId>com.alibaba</groupId> < ...
- python-猜数字小练习
isdigit的使用方法,只能对str类型的适用,判断输入的字符串里面是不是仅由数字组成: 本次在写这个小程序时踩到的坑:1.int类型和字符串类型不可以做比较:2.在input下面对guess做了类 ...
- html的文字样式、下行线、删除线、上标、下标等实现方式
先看效果如下: 代码如下: <del>del标签删除线</del><br/> <strike>strike标签删除线</strike>< ...
- nat 共享上网软件
http://www.nat32.com/ SinforNat WinGate
- 何谓sdk,何谓api
狭义上的 SDK 指 Windows SDK,包括在 Windows 平台进行开发的一系列头文件和库文件以及命令行工具等. API 是 SDK 提供给用户的函数,即接口就是这个 SDK 提供给你用于应 ...