最小化程序时,计算机会使用更少的资源吗?


93

在Windows 7中最小化程序时,它们使用的内存和CPU数量是否比最大化时要少?

Answers:


66

是。根据MS支持,将最小化应用程序的工作集修剪掉。您可以使用Process Explorer自行检查。

这是对Windows 7 x64中Firefox 5.0单个实例的测试,其中加载了ESPN.com网站的单个选项卡。使用任务管理器读取值。

type                 not minimised  minimised     diff
------------------------------------------------------
working set               165,752k   163,768k  -1,984k
peak working set          169,624k   169,624k      N/A
mem (private working set) 121,600k   119,576k  -2,024k
commit size               135,576k   133,504k     -72k
paged pool                    396k       397k      +1k
np pool                        82k        81k      -1k
handles                        504        483      -21
threads                         34         31       -3
user objects                    40         44       +4
GDI objects                     71         75       +4

这是对Windows 7 x64中Paint.NET的单个实例的测试,其中打开了一些小图像。该应用程序是用Microsoft .NET编写的,与Firefox几乎可以肯定是C / C ++不同。

type                 not minimised  minimised     diff
------------------------------------------------------
working set               125,904k   125,256k    -684k
peak working set          217,836k   217,836k      N/A
mem (private working set)  61,844k    61,844k       0k
commit size               102,388k   102,384k      -4k
paged pool                    542k       541k      -1k
np pool                        59k        59k       0k
handles                        741        741        0
threads                         19         19        0
user objects                   276        273       -3
GDI objects                    489        491       +2

7
哇,这很有趣,您有一个知识库来备份它。+1
Supercereal 2011年

57
这不适用于Windows的现代版本(7,Vista)。在现代OS上,如果某物需要内存,则操作系统将修剪所有进程的驻留工作集,无论是否最小化(基于它们访问内存页面的最新程度)。而且,如果由于某种原因不需要内存,则修剪内存是愚蠢的-当内存充足时,为什么会无意中降低应用程序的性能?
大卫·史瓦兹

6
哇,所以人们不喜欢答案...有人有相反的证据吗?我看它的方式Kinokijuf实际上有一些证明,你们说它不适用于Windows 7和Vista,但没有提供源代码……你们甚至没有测试它:\工作集和分配的内存是两件不同的事。流程浏览器是测试此方法的唯一方法。
Supercereal 2011年

5
似乎值得注意的是,减少系统资源的使用是微不足道的:在给出的示例中,通过最小化应用程序,工作集仅减少了约1.2%。
bgvaughan 2011年

5
请注意,此注释线程中缺少Win32开发人员。有许多Win32事件会跳过最小化的应用程序。即使没有明显的内存节省,也肯定会节省CPU使用量。
surfasb 2011年

27

是的,没有。他们将在您的GPU上使用更少的资源-更少的屏幕刷新需求-但不会在您的主系统内存或CPU上使用。

任务管理器中显示的工作集大小不是应用程序实际消耗的内存量。它更多地是在给定时间点可以使用多少的上限。

如果另一个应用程序请求分配给未使用的某个进程的工作集的内存,则该数字可以降低而无需更改该应用程序实际使用的内存量。


我真的很讨厌投票的答案,但这是错误的...如果您在10分钟前问我,我会以为您是对的。
Supercereal 2011年

3
@至少对我而言是冒犯的一句话,以及为什么反对投票的立场是:“他们将在您的GPU上使用更少的资源-更少的屏幕刷新需求-但不在您的主系统内存或CPU上使用。” 该问题明确指出:“它们使用的内存和CPU数量是否少于使它们最大化的内存和CPU数量”,答案至少是根据MS的说法(而且我会信任MS,因为他们确实编写了它),是的,它使用的资源更少。在最小化应用程序性能方面,他没有提出任何要求,即使它使用的资源更少。
Supercereal 2011年

14
@Kyle该知识库文章已有5年历史。它不适用于现代内存管理方案。(而且,如果您看到我对kinokijuf的回答的评论,那么您将首先看到为什么它不是一个好主意-除了在无法跟踪页面使用情况新近的操作系统上。)
David Schwartz

1
脚注指出它适用于NT4、2000和XP。我怀疑此后是否有任何变化。
kinokijuf

4
而且我可以在Vista机器上(使用Process Explorer)确认工作集仍然存在。
kinokijuf 2011年

12

“工作集”与“内存使用情况”不同

如果程序需要一块内存,它将始终需要它。如果不是,则不是。最小化程序并不会突然使程序“不需要”内存。“整理”工作集只是简单地将内存从物理内存中调出磁盘上,或者简单地删除页面(如果该页面在磁盘上的其他位置可用)。(在后一种情况下,如果内存不足,操作系统仍然会执行此操作,因此,这只是一个缓存问题,而不是“使用”问题。)在两种情况下,它都不会减少程序的使用;它只是数据重定位到其他位置。

也就是说,关于CPU使用率:在某些情况下,操作系统会提供一种称为优先级提升的功能,这实际上可能导致前台应用程序使用更多的CPU。有关详细信息,请参见此处


4

实际上,这取决于您正在谈论的应用程序以及该应用程序的编码方式。但是,为了比较起见,可以说该程序的编码方式是使其在最大化和最小化时都运行相同的功能。

因此,如果应用程序调用了相同的基础功能,则我们希望程序在最小化时使用相同数量的CPU。

但是,当程序最小化时,您的系统进程肯定会使用较少的CPU,因为要渲染供应用程序查看的图形更少,现在可能只是系统任务栏图标。

除非将应用程序最小化,否则会导致显示更多图形应用程序并因此进行渲染,否则由于额外的图形工作负载,CPU负载可能会增加。

除非您使用的是低规格机器,否则我们在此处讨论的所有更改可能都可以忽略不计。


-1,用于不记名。对于任何比较,您总是不得不假设Ceteris paribus
Lie Ryan

2
当弄清楚并涵盖这两种可能性时,没有意识到假设是一件坏事。
iTom 2011年

某些假设是无关紧要的,因此即使明确了也无济于事。如果以最小化方式终止程序的方式编写程序,那显然会使计算机使用更少的资源。这个假设对于讨论完全没有用。
Lie Ryan

1

很少。对于可以识别何时最小化的交互式程序,是的,它将使用较少的CPU能力。对于Microsoft Word之类的程序,CPU使用率不会减少。

对于图形密集型应用程序(例如《魔兽世界》或《使命召唤3》),GPU(图形处理单元)的使用将大大减少。


交互式程序不必“识别何时最小化”即可使用更少的CPU,因为根本没有任何键盘/鼠标窗口消息可以响应。
Random832

@ Random832我不确定您的意思是什么,但是我的意思是传达一种程序类型(例如游戏),该程序在失去焦点时会暂停。这些游戏在最小化时通常使用较少的CPU能力。
wizlog 2011年


0

据我所知,在Windows 7中不可用,但在Windows 8中,最小化的程序被挂起。


这对于经典程序也一样吗?由于您实际上无法关闭软件,这对于地铁来说是必要的
Journeyman Geek

是的,至少那是我在Beta版中看到的。(使用的示例是Internet Explorer,非地铁版本)
soandos 2011年

最好等到Win8发布后,再去猜测早期测试版中可能保留或不保留的内容。
杰夫·阿特伍德

好了,地铁应用程序的悬架部分不会消失,因此我对悬架系统的其余部分保持相对有信心。它也是当前win7系统的一部分,尽管它不是自动的。
soandos 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.