查看队列资源限额和用户资源使用情况

查看队列资源限额和用户资源使用情况

背景

LSF中的 limits 配置模块允许管理员很方便地设置集群资源限额,可以在队列、主机对、应用维度对用户使用的资源如slot/core,、任务数/jobs、内存/mem、交换区/swap,以及自定义资源比如许可证进行限制。

问题

在实际工作中,用户遇到的问题是如何方便快捷地查看队列上设置的资源限额,以及当前用户资源使用情况?

解决方案

LSF提供了 blimits 命令查询限额配置和用户资源使用情况,但需要使用不同的参数组合,运行多次。 我们可以通过创建脚本 bquota 通过一条命令显示队列上配置的资源限额和用户资源使用情况。简化用户操作,不需要记忆复杂的参数。

bquota 脚本示例如下:

bash 复制代码
#!/bin/bash

queueName=$1

[ "x$queueName" == "x" ] && {
    echo "请指定队列名称。"
    exit 1
}

echo "***** 队列 ${queueName} 任务资源限额配置 *****"
echo
t=$(blimits -c -q ${queueName})
[ "$t" == "No resource configuration found." ] && {
    echo "没有配置队列任务资源限额"
} || {
    blimits -c -q ${queueName}
}

echo

for l in $(blimits -c -q ${queueName}|grep NAME|awk -F = '{ print $2 }')
do
    echo "***** ${l} 资源使用 *****"
    t=$(blimits -w -n $l)
    [ "$t" == "No resource usage found." ] && {
        echo "无资源使用记录"
    } || {
        blimits -w -n $l
    }
    echo
done

使用方式

使用方式很直接,在命令行跟上队列名称即可

bquota queue_name
ini 复制代码
[lsfadmin@master bin]$ bquota admin
***** 队列 admin 任务资源限额配置 *****

Begin Limit
  NAME 		= admin_limit
  PER_USER 	= lsfadmin
  PER_QUEUE 	= admin
  SLOTS    	= 100
  JOBS     	= 10
End Limit


***** admin_limit 资源使用 *****

INTERNAL RESOURCE LIMITS:

    NAME          USERS            QUEUES           HOSTS           PROJECTS       APPS    SLOTS     MEM      TMP      SWP      JOBS
admin_limit      lsfadmin          admin              -                -            -      10/100     -        -        -      10/10
相关推荐
hhzz29 分钟前
ansible自动化运维实战--script、unarchive和shell模块(6)
运维·自动化·ansible
阿狸的家2 小时前
ovs实现lb负载均衡
运维·云计算·负载均衡·ovs
乙己4077 小时前
计算机网络——网络层
运维·服务器·计算机网络
不会飞的小龙人9 小时前
Docker Compose创建镜像服务
linux·运维·docker·容器·镜像
不会飞的小龙人9 小时前
Docker基础安装与使用
linux·运维·docker·容器
小歆88411 小时前
100%全国产化时钟服务器、全国产化校时服务器、全国产化授时服务器
运维·服务器
翻滚吧键盘12 小时前
debian中apt的配置与解析
运维·debian
workingman_li12 小时前
centos虚拟机异常关闭,导致数据出现问题
linux·运维·centos
Jackson~Y13 小时前
Linux(LAMP)
linux·运维·服务器
不知 不知13 小时前
最新-CentOS 7安装1 Panel Linux 服务器运维管理面板
linux·运维·服务器·centos