问题配置如下所示:
Resolution
- lsb.resources文件是用于定义和配置LSF的资源的,资源类型基本都是消耗型资源,需要定义谁去消耗这些资源((如MEM、SLOTS、JOBS));这个“谁”也就是使用者,可以包括应用程序、队列、用户、项目、主机等。
- 在配置中只定义了使用者 USERS 、 Per_HOST,没有设置他们可以消耗的资源类型(如MEM、SLOTS、JOBS),所以这样设置是没有意义的,所以会感觉没有起作用。
“想让这些用户在不指定队列、不指定主机的情况下,让特定用户的作业默认运行在特定的主机上。”这个需求,使用Esub脚本是更合适的解决方法,配置和使用Esub脚本没有想象的那么复杂。
Esub脚本:
[root@master etc]# chmod +x esub.users_hosts[root@master etc]# cat esub.users_hosts#!/bin/bashset -x. $LSB_SUB_PARM_FILE#特定用户列表users=("user1" "user2" "user3")#如果提交作业的用户在特定用户列表中if [[ "${users[@]}" =~ $USER ]]; then#判读用户是否使用bsub -m指定了执行机if [ -z "$LSB_SUB_HOSTS" ]; then#如果没有指定执行机,就给用户指定特定队列echo LSB_SUB_QUEUE=\"myqueue\" >> $LSB_SUB_MODIFY_FILEfifi