对于 "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 maxmem
和 maxswp
为兆字节,而不是调用 lshosts
时的千兆字节。我正在尝试将 Xilinx ISE 作业发送到我的 LSF,但是该软件需要 maxmem
和 maxswp
的整数、兆字节值。通过调试,软件似乎使用lshosts
命令获取了这些参数。
我已经在我的 lsf.conf 文件中检查过:
LSF_UNIT_FOR_LIMTS=MB
我已经尝试搜索 IBM 知识库,但无济于事。
您是否使用特定命令在 lsf.conf、lsf.shared 或其他配置文件中指定 maxmem
和 maxswp
单元?
还是LSF逼return最实用的单位?
有什么方法可以覆盖它吗?
LSF_UNIT_FOR_LIMITS
应该 工作,如果你完全耗尽集群中所有 运行、挂起和完成的作业。根据docs,MB
是默认值,所以我很惊讶。
就是说,您可以使用类似这样的东西来转换结果:
$ 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_LIMITS
,lshosts
将始终将输出打印为浮点数,并且在某些版本的LSF中,参数是安装时在 lsf.conf 中定义为 'KB'。
尝试在 lsf.conf 中搜索参数的任何定义并将它们全部注释掉,以便参数未定义,我认为在这种情况下它默认将其打印为以兆字节为单位的整数。
(不要问我为什么会这样)