【问题标题】:Empty Working Set from cmd [closed]来自 cmd 的空工​​作集 [关闭]
【发布时间】:2014-08-29 12:48:19
【问题描述】:

我想编写一个 cmd 脚本来定期从命令提示符清空工作集。现在我从 sysinternals 清空 Rammap 工具中的工作集,但这不能由脚本运行。

【问题讨论】:

  • 也许您应该解释为什么您觉得需要定期清空工作集。自 Win 3.1 以来,我一直在为 Windows 进行开发,并且从未需要从命令行(或者坦率地说,从我的代码中)执行此操作。你可以做一些更好的事情来解决问题,而不是试图找到一种方法来解决问题。
  • 我在同步数据库时遇到问题。 RAM 已满,电脑停止响应。定期清空工作集时没有问题。
  • 我已投票结束,因为“不清楚您在问什么”,因为您的问题似乎归结为“如何编译和链接代码,以及如何从脚本?”但您尚未指定编译器或脚本语言。不仅如此,如果你坚持这样的基本原则,你真的应该读一本初学者的书。如果您的意思不止于此,请澄清问题。
  • 我删除了我的例子,希望我的问题现在更清楚
  • 我在一台资源极少的机器上需要这个,Windows 10 决定开始使用它。看起来那些做 Process Hacker 的人再次支持我们 EmptyStandbyList.exe workingsets

标签: windows command-line working-set


【解决方案1】:

这样编译可能是最简单的:

#include <iostream>
#include <windows.h>

int main(int argc, char **argv) { 
    if (argc != 2) {
        std::cerr << "Usage: min_mem <process_id>\n";
        return 1;
    }

    HANDLE process = OpenProcess(PROCESS_SET_QUOTA, false, atoi(argv[1]));
    SetProcessWorkingSetSize(process, -1, -1);
}

...然后在您的脚本中运行它,例如:

mem_min 1234

...但是将 1234 替换为您要最小化其内存的进程的进程 ID(十进制)。

也就是说:我要求不要对这个答案进行投票,因为对于一个基本上只是 gimme the codez 的问题来说,这真的是一个非常糟糕的答案任何代表这样做。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-05
    • 2019-01-23
    • 2020-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多