【发布时间】:2018-08-17 00:52:30
【问题描述】:
我有一个具有 132 个插槽的执行主机,并且 condor 会很高兴地在那里运行 132 个作业。但是根据工作,这 132 个可以使用所有 RAM 并导致交换并最终丢弃。如何设置配置 选项显示“如果使用的 RAM 超过 nnGB,则不运行作业”?
我已阅读https://htcondor-wiki.cs.wisc.edu/index.cgi/wiki?p=HowToLimitMemoryUsage 但它没有说明如何做到这一点。
当我说 RAM used 时,我指的是我在 used 中看到的数字 免费栏目:
$ free -mh
total used free shared buff/cache available
Mem: 125G 44G 18G 19M 63G 79G
【问题讨论】:
-
我没有可以管理的集群来给你一个实际的答案,但我认为你想研究自定义START Policy criteria。以 MB 为单位的物理 RAM 的宏是
$(DETECTED_MEMORY)。 -
但这会随着 RAM 的消耗而动态变化以提供可用数量,还是它是总 RAM 的静态值?
-
我想您需要使用本地评估的 START 策略表达式,将机器的当前状态(来自其 ClassAds)与最大内存宏混合,即测试当前可用 RAM 是否为 x%如果是这样,总计并将 START 评估为
False。如果我能够测试这些陈述,我会写一个答案而不是指向你的文档。 research.cs.wisc.edu/htcondor/manual/v8.6/… -
2 个问题:1) ClassAd 中的哪些内容显示了当前使用或可用的 RAM 量?当我在作业运行时查看 ClassAd 时,我看不到任何与内存变化相关的值 - 它们似乎总是显示总 RAM。 2) 假设 ClassAd 中有这样一个值,我该如何在策略表达式中引用它?
标签: condor