当我input“ 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 ()
我正在尝试将maxmem
和maxswp
作为兆字节返回,而当lshosts
被调用时不是千兆字节。 我正在尝试将Xilinx ISE作业发送给LSF,但软件需要maxmem
和maxswp
整数,兆字节值。 通过debugging,看起来软件使用lshosts
命令抓取这些参数。
我已经检查了我的lsf.conf文件:
LSF_UNIT_FOR_LIMTS=MB
我试图searchIBM知识库,但无济于事。
您是否使用特定的命令来指定lsf.conf,lsf.shared或其他configuration文件中的maxmem
和maxswp
单元?
或者LSF力量还是最实用的单位?
任何方式来覆盖这个?
LSF_UNIT_FOR_LIMITS
应该工作,如果你完全耗尽了所有正在运行的,待处理和已完成的作业的集群。 根据文档 , 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 $1 " " to_mb($6) " " to_mb($7) } $ lshosts | tail -n +2 | awk -f to_mb.awk server1 191900 159700 server2 191900 191200 server3 191900 191200
to_mb
函数还应该处理“K”或“M”单位,如果这些单位弹出。
如果在LSF_UNIT_FOR_LIMITS
中定义了LSF_UNIT_FOR_LIMITS,则lshosts
将始终将输出打印为浮点数,并且在某些版本的LSF中, 在安装时在lsf.conf中将参数定义为“KB” 。
尝试搜索lsf.conf中的参数的任何定义,并将它们全部注释掉,以便参数未定义,我认为在这种情况下,默认情况下它将以整数(兆字节)打印出来。
(不要问我为什么这样工作)