【发布时间】:2013-10-24 08:07:05
【问题描述】:
我正在开发一些“空闲 RAM”工具,它必须强制 Windows 向所有应用程序发送 'LOW_MEMORY' 信号(要求所有应用程序释放其未使用的数据,SQL 服务器和文件缓存被清除,所以你会最终获得大量额外的可用空间)。
在 C++ 中最好的方法是什么? 对我来说最“自然”的解决方案是分配大量内存,但它是“好”和“稳定”吗?方式?也许在 WinAPI 或其他地方有任何 c++ Windows 原生函数?
附言 该工具的概念来自(我知道更好的方法是……购买一些 RAM,但我现在必须编写这样的工具):
https://superuser.com/questions/214526/how-does-a-free-up-ram-utility-free-up-ram
【问题讨论】:
-
你为什么要使用/编写这样的工具?您的操作系统会在需要时自动释放 RAM。
-
...阅读链接的问题应该已经让您知道这样的工具通常对您没有任何好处
-
我写它是因为我工作的公司让我写它。所以没有关于它的“讨论”;)而且我知道大多数这样的程序(如CClenaer等)也是这样做的。所以我只想用 C++ 将该信号发送到 Windows 的应用程序,即使结果有点无意义。
-
当你说“LOW_MEMORY”消息时,你说的是与
CreateMemoryResourceNotification相关的事件吗? -
只是一些提示:我认为内部内存管理的问题是在 NT API 中而不是在 WIN32 层/子系统中...您可能还想使用 Microsoft 支持工具中的 depends.exe 进行搜索.....
标签: c++ memory memory-management low-memory