首页
社区
课程
招聘
揭发天气秀、桌面秀、雪狐、飞雪桌面日历等号称资源占用小的桌面软件的流氓行为
发表于: 2006-10-15 12:25 6430

揭发天气秀、桌面秀、雪狐、飞雪桌面日历等号称资源占用小的桌面软件的流氓行为

2006-10-15 12:25
6430
以下内容需要你对虚拟内存和内存有所了解,但目的只是告诉大家,这些所谓对内存占用小的软件是最为伤硬盘的!

很多人都用过天气秀、雪狐、曰历秀、桌面秀等等桌面软件。这类软件有个最大的特点就是在任务管理器里看,内存占用N小,比记事本都小,只有几百K。很多人就是冲着这点才用这些软件的。

但是,也许大家不知道,这些软件才是占用资源的大户。
这些软件占用资源为什么这么少呢?
Windows编程里有个方法叫做SetProcessWorkingSetSize,对编程有所了解的可以搜索一下。这个方法能够设定程序所占用的内存数(当然有一个最小值)。

比如你打开一个程序,把它最小化,再看任务管理器,里面占用的内存数就是它所使用的最小值,其他暂时用不到的代码就被放到了虚拟内存里。但是,这样做,是影响性能Windows把最多的内存分配给了前台正在运行的程序。

而天气秀等软件所号称的内存压缩技术,就是调用这个SetProcessWorkingSetSize,把内存中的程序代码放到虚拟内存里,调用一次还不够,因为程序运行内存占用不停变化。所以要设定一个Timer(计时器),每隔一段时间就调用一次(通常是几毫秒)。

虚拟内存是指硬盘上的一部分空间。也就是说,当这些软件运行时,每隔几毫秒,你的电脑CPU就要强制把内存中的代码放到硬盘上--往硬盘不停地写。
说实话,这种方式来实现内存占用少(实际上并没有少)很BT。

上面所提到的方法SetProcessWorkingSetSize,是微软提供给程序员的一个方法(或称函数)。
所以在这里,提醒大家:千万不要相信宣传!这些所谓对内存占用小的软件是最占资源最为伤硬盘的!

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
一个程序,不可避免地要用到虚拟内存,因为不频繁执行或者已经很久没有执行的代码,没有必要留在物理内存中,只会造成浪费;放在虚拟内存中,等执行这部分代码的时候,再调出来。
    Windows 的任务管理器可以帮助我们看到进程的虚拟内存。调出任务管理器,点击菜单“查看”-“选择列”,在出现的窗口中,钩上“虚拟内存大小”
2006-10-15 12:30
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
难怪偶前一段时间,用汇编语言写的一个时钟日历报时程序,怎么搞也不能降低,后来发到论坛里,

有朋友,告诉我这个函数,
SetProcessWorkingSetSize(GetCurrentProcess(),-1,-1);

上网查之后,才发现这个秘密
2006-10-15 12:36
0
雪    币: 179
活跃值: (131)
能力值: ( LV12,RANK:290 )
在线值:
发帖
回帖
粉丝
4
这种软件实时行不是很高,使用SetProcessWorkingSetSize函数正合适
不知道楼主伤硬盘的结论从何得来
2006-10-15 14:06
0
雪    币: 237
活跃值: (31)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
我虽然没用过,但从描述中看出,应该是频繁的读写虚拟内存而已,应该不会对硬盘有多大的伤害吧。
2006-10-15 21:47
0
雪    币: 225
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
学到一招 呵呵
2006-10-15 22:20
0
游客
登录 | 注册 方可回帖
返回
//