移花接木解决.net程序内存占用过大

 Private Declare Function SetProcessWorkingSetSize Lib "kernel32.dll" (ByVal hProcess As IntPtr, ByVal dwMinimumWorkingSetSize As Int32, ByVal dwMaximumWorkingSetSize As Int32) As Int32

 

使用IntPtr

说明

  设置操作系统实际划分给进程使用的内存容量

  返回值

  Long,非零表示成功,零表示失败。会设置GetLastError

  参数表

  参数 类型及说明

  hProcess Long,指定一个进程的句柄

  lpMinimumWorkingSetSize Long,用于装载最小进程容量的一个变量

  lpMaximumWorkingSetSize Long,用于装载最大进程容量的一个变量

  适用平台

  Windows NT

事实上,使用该函数并不能提高什么性能,也不会真的节省内存。

因为他只是暂时的将应用程序占用的内存移至虚拟内存,一旦,应用程序被激活或者有操作请求时,这些内存又会被重新占用。如果你强制使用该方法来 设置程序占用的内存,那么可能在一定程度上反而会降低系统性能,因为系统需要频繁的进行内存和硬盘间的页面交换。

 

计时器代码

 SetProcessWorkingSetSize(System.Diagnostics.Process.GetCurrentProcess().Handle, -1, -1)

定时器,不停的进行该操作,虽然换来了小内存的假象,对系统来说确实灾难,可以使用该命令来交换占用的内存到虚拟内存。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值