2

我是 Linux 和终端(或它使用的任何类型的命令提示符)的新手,我想控制一个进程可以使用的 RAM 量。我已经找了几个小时来找到一个易于使用的指南。我有一些限制它的要求:

  1. 该程序的多个实例将运行,但我只想限制一些实例。
  2. 一旦超过限制,我不希望进程崩溃。我希望它使用硬盘页面交换。
  3. 该程序将在 WINE 下运行,并且是一个 .exe。

那么有人可以帮助使用命令来限制Linux中进程的RAM使用吗?

4

1 回答 1

2

在这个特定的上下文中,您使用 Wine 的事实没有任何区别,这就留下了要求 1 和 2。要求 2 –</p>

一旦超过限制,我不希望进程崩溃。我希望它使用硬盘页面交换。

– 被称为限制进程的驻留集大小rss,实际上在 Linux 上做这件事相当重要,正如2010 年提出的一个问题所证明的那样。您需要设置Linux 控制组 (cgroups)。幸运的是,贾斯汀 L. 的回答简要说明了如何做到这一点。注意

  • 而不是jlebar,您应该使用自己的 Unix 用户名,并且
  • 而不是your/program,您应该使用wine /path/to/Windows/program.exe.

使用 cgroups 还可以满足您的其他要求——您可以启动任意数量的程序实例,但只有您启动的实例cgexec -g memory:limited会受到限制。

于 2013-10-31T22:23:06.493 回答