病毒信息网 www.Virus-Info.asia

夜火 & 轨迹's Blog

免费网络资源-计算机技术-网络安全-Linux-Android—15897.com(要我发就齐) 夜火&轨迹共用的Blog

导航

MemLimit - 限制程序进程的内存使用量

很少见到限制程序进程的内存使用量的软件,恩。。。。。夜火是没见到过。MemLimit 是一个限制程序进程的内存使用量的软件,可以限制任意一个进程的物理内存使用量,防止占用过多内存,由Roger所写。

MemLimit这里做的是一个软限制,假如限制了10MB,应用程序有可能用到12M、18M,但是会在很短的时间回复到接近10M的样子。MemLimit的原理是间隔地调用SetProcessWorkingSetSize,如果进程使用了过多的物理内存,马上就会被强制写入到页面文件中。所以为了使限制生效,MemLimit必须一直运行,最小化窗口时它会自动隐藏到托盘,双击恢复。

但是没有办法限制进程使用的虚拟内存数量。如果使用job(作业)可以加以更多的限制,例如CPU使用时间等,但是这是硬性的限制,可能导致进程直接被杀掉。

对某个进程使用MemLimit,并且设置的限制值过小,可能导致频繁的页面交换,从而使得进程反应缓慢。

最后出现的一个问题是,当Roger以为一切OK准备打包时,忽然发现直接运行MemLimit.exe(而不是在VC中启动)会有一些system用户启动的进程无法OpenProcess。这是因为VC自己具有se_debug_name权限,在启动MemLimit时会把自己的权限继承,导致了奇怪的结果。解决的办法是在程序初始化时给MemLimit进程加以se_debug_name权限。

再罗嗦一句这东西必须由管理员启动,仅在xp下测试过。

截图1 限制之前:

MemLimit - 限制程序进程的内存使用量

截图2 限制之后:

MemLimit

【下载地址】:MemLimit_1.0.1.zip (7KB)

————————————————————————
作者: roger
Blog: http://rogerfd.cn
Email:roger99707@163.com
本文欢迎转载和引用,请保留本说明并注明出处
————————————————————————



« 暴风影音去广告补丁 v1.88 - 针对暴风门特别版 Debian GNU Linux 5.0.2 下载 »

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
如原创文章转载,请注明: 转自:夜火&轨迹's Blog [ http://www.15897.com/ ]

本文链接地址: http://www.15897.com/blog/post/MemLimit.html

收藏到网摘

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

订阅本站

    订阅 夜火&轨迹's Blog - 可以即时阅读本blog的最新文章 订阅 夜火&轨迹's Blog

Search


最近发表

最新评论及回复

最近留言

图标汇集


  • 知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议
  • RainbowSoft Studio Z-Blog   本站支持WAP访问
  • 订阅本站 RSS 2.0 新闻聚合

您可能需要这些?



网站分类

夜火的碎碎念

文章归档

ADs

    Powered By Z-Blog 1.8 Walle Build 91204

    Copyright © 夜火 & 轨迹's Blog All Rights Reserved.  苏ICP备09031555号   |   Sitemap   |