对于 "maxmem" 和 "maxswp" 参数强制 lshosts 命令为 return 兆字节

Force lshosts command to return megabytes for "maxmem" and "maxswp" parameters

当我输入“lshosts”时,我得到:

HOST_NAME      type    model    cpuf   ncpus maxmem maxswp server RESOURCES
server1        X86_64 Intel_EM  60.0    12   191.9G 159.7G    Yes ()
server2        X86_64 Intel_EM  60.0    12   191.9G 191.2G    Yes ()
server3        X86_64 Intel_EM  60.0    12   191.9G 191.2G    Yes ()

我正在尝试 return maxmemmaxswp 为兆字节,而不是调用 lshosts 时的千兆字节。我正在尝试将 Xilinx ISE 作业发送到我的 LSF,但是该软件需要 maxmemmaxswp 的整数、兆字节值。通过调试,软件似乎使用lshosts命令获取了这些参数。

我已经在我的 lsf.conf 文件中检查过:

LSF_UNIT_FOR_LIMTS=MB

我已经尝试搜索 IBM 知识库,但无济于事。

您是否使用特定命令在 lsf.conf、lsf.shared 或其他配置文件中指定 maxmemmaxswp 单元?

还是LSF逼return最实用的单位?

有什么方法可以覆盖它吗?

LSF_UNIT_FOR_LIMITS 应该 工作,如果你完全耗尽集群中所有 运行、挂起和完成的作业。根据docsMB是默认值,所以我很惊讶。

就是说,您可以使用类似这样的东西来转换结果:

$ cat to_mb.awk
function to_mb(s) {
    e = index("KMG", substr(s, length(s)))
    m = substr(s, 0, length(s) - 1)
    return m * 10^((e-2) * 3)
}
{ print  " " to_mb() " " to_mb() }

$ lshosts | tail -n +2 | awk -f to_mb.awk
server1 191900 159700
server2 191900 191200
server3 191900 191200

to_mb 函数还应该处理 'K' 或 'M' 单位,如果它们弹出的话。

如果在lsf.conf中定义了LSF_UNIT_FOR_LIMITSlshosts将始终将输出打印为浮点数,并且在某些版本的LSF中,参数是安装时在 lsf.conf 中定义为 'KB'

尝试在 lsf.conf 中搜索参数的任何定义并将它们全部注释掉,以便参数未定义,我认为在这种情况下它默认将其打印为以兆字节为单位的整数。

(不要问我为什么会这样)