强制释放所有进程空闲物理内存。
dwing吧
全部回复
仅看楼主
level 1
MengXP 楼主
dwing说过,SetProcessWorkingSetSize,-1,-1 只是将空闲物理内存整理到虚拟内存,不是这样的,我来证实这个命题是错误的。运行这个程序前后,所有进程虚拟内存使用量没变!.386.ModelFlat,StdCallOptionCasemap:NoneIncludeWindows.incIncludeKernel32.incIncludeShell32.incIncludeUser32.incIncludeAdvapi32.incIncludeLib User32.libIncludeLib Kernel32.libIncludeLib Shell32.libIncludeLib Advapi32.lib.Data.Data?tkpTOKEN_PRIVILEGES<>sdnvLUID <>hTokendd ?.CodeEnableDebugPrivProcinvokeGetCurrentProcessinvokeOpenProcessToken,eax,TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY,addr hTokeninvokeLookupPrivilegeValue,0,CTEXT("SeDebugPrivilege"),addr sdnvmovtkp.PrivilegeCount,1m2mtkp.Privileges.Luid.LowPart,sdnv.LowPartm2mtkp.Privileges.Luid.HighPart,sdnv.HighPartmovtkp.Privileges.Attributes,SE_PRIVILEGE_ENABLEDinvokeAdjustTokenPrivileges,hToken,FALSE,addr tkp,sizeof tkp,0,0invokeCloseHandle,hTokenretEnableDebugPrivEndPDefMemoryProcLocal@stProcess:PROCESSENTRY32Local@hSnapShotinvokeRtlZeroMemory,addr @stProcess,sizeof @[email protected],sizeof @stProcessinvokeCreateToolhelp32Snapshot,TH32CS_SNAPPROCESS,0mov@hSnapShot,eaxinvokeProcess32First,@hSnapShot,addr @stProcess.WhileeaxinvokeOpenProcess,PROCESS_ALL_ACCESS,FALSE,@stProcess.th32ProcessID.ifeaxinvokeSetProcessWorkingSetSize,eax,-1,-1.endifinvokeProcess32Next,@hSnapShot,addr @stProcess.EndWinvokeCloseHandle,@hSnapShotretDefMemoryEndPStart:invokeEnableDebugPrivinvokeDefMemoryinvokeExitProcess,0EndStart
2006年10月02日 08点10分 1
level 13
应该是虚拟内存和物理内存总占用量是不变的.
2006年10月02日 09点10分 2
level 1
MengXP 楼主
虚拟内存无论是单个进程还是总数都没变物理内存变化如下之前总数522736可用331192系统缓存227484之后522736375680255636
2006年10月02日 09点10分 3
我的电脑CPU使用率0%的时候,物理内存1972M(1478M),可为什么风扇还是哄哄响不停?一玩游戏就卡…我是应该修散热还是加内存条,求指点谢谢!
2013年02月10日 15点02分
level 1
MengXP 楼主
数字不稳定,大概是这样了。。。
2006年10月02日 09点10分 4
level 0
这个不能频繁的使用,否则因内存反复从虚拟内存到物理内存切换程序变得很慢~WINDOWS 窗口最小化的时候用到此功能!
2006年10月02日 21点10分 5
level 1
MengXP 楼主
楼上的,我都说了,并没有 物理内存 和 虚拟内存 之间的交换!只是 释放物理内存 和 重新申请物理内存!
2006年10月03日 08点10分 6
level 13
我想意思大家都清楚,只不过有些名词的概念不统一.
2006年10月04日 07点10分 7
level 1
楼主别瞎猜了,自己ida一下ntoskrnl就懂了
2013年02月11日 09点02分 8
1