【发布时间】:2009-07-03 15:28:56
【问题描述】:
有没有办法评估软件的最低要求?我的意思是,我如何才能发现我的应用程序需要的最小 RAM 量?
谢谢!
【问题讨论】:
-
是的...之前没找到...谢谢!
标签: memory system-requirements minimum-requirements
有没有办法评估软件的最低要求?我的意思是,我如何才能发现我的应用程序需要的最小 RAM 量?
谢谢!
【问题讨论】:
标签: memory system-requirements minimum-requirements
分析器在这里帮不了你。也不会估计数据结构的大小。
分析器当然可以告诉您代码在哪里花费最多 CPU 时间,但它不会告诉您是否缺少性能目标 - 例如。如果您的用户会对您的应用程序在任何给定系统上的性能感到满意或不满意。
简单地计算数据结构的大小,以及在任何时候可以分配多少,根本无法准确地了解一段时间内的内存使用情况。原因是内存使用由许多其他因素决定,包括您的应用程序执行多少 I/O、您的应用程序使用哪些操作系统服务,以及最重要的是您的应用程序如何使用内存的时间特性。
了解最低要求的最有效方法是
您可以对 CPU 和其他组件(例如磁盘、网络或 GPU)执行相同的操作。
另请注意,这里没有简单的答案 - 有效地设定最低要求是真正的工作。如果您的应用程序对某个平台方面或其他方面具有参与性敏感,则尤其如此。
还有其他因素 - 例如,您的应用可能在一个配置中运行良好,直到用户打开另一个可能需要内存或 CPU 猪的应用。用户很少只打开一个应用程序。
这意味着除了指定最低要求之外,您还必须有效地设定用户期望 - 即解释您的应用程序何时会表现良好,何时表现不佳,以及影响性能的因素是什么。
[1]:http://msdn.microsoft.com/en-us/library/ms751538.aspx强文本
【讨论】:
理想情况下,您应该根据目标受众确定软件的最低要求,然后在开发过程中在该配置上测试您的软件,以确保它提供令人满意的体验。
您可以查看运行您的软件的系统,了解您的应用程序消耗了多少内存,并使用它来指导消耗了多少内存。 CPU 有点复杂 - 您可以尝试对 CPU 要求进行建模,但准确地做到这一点可能具有挑战性。
但最终,您需要在目标系统上测试您的应用。
【讨论】:
给定应用程序使用的数据结构,估计它们在正常使用中会占用多少空间。使用该估计,设置多台机器(虚拟或物理)以在不同场景(即不同的目标操作系统、不同的虚拟内存设置等)下测试估计。
然后衡量应用在不同场景下的性能。您的最低设置将是性能最差但仍可接受的机器。
【讨论】:
您可以在对软件进行压力测试时尝试使用性能分析器。
【讨论】:
您可以使用虚拟化在虚拟机中使用不同数量的 RAM 重复运行具有代表性的测试套件...当性能由于交换而低于可接受的水平时,您已经找到了内存要求。
【讨论】: