跳到主要内容

查询License分配

Fsched提供完整的License查询功能,支持从用户分配和集群汇总两个维度实时监控许可证使用情况,帮助管理员和用户全面了解许可证资源状态。

注意事项

重要性能提醒

查询频率限制

  • License分配数据每30秒更新一次,建议查询间隔不小于30秒
  • 频繁查询可能影响系统性能,建议按需查询

内存消耗警告list-user-lic-allocs命令在用户数和license类型较多时可能消耗大量内存。请确保预留足够内存空间:

集群规模记录数量预估内存消耗建议预留内存
中小规模1,000用户 × 300 license约121MB242MB
中等规模1,000用户 × 500 license约167MB334MB
大规模1,000用户 × 1,000 license约335MB670MB
超大规模2,000用户 × 1,000 license约669MB1.3GB

使用提示

  • 所有命令支持 --help 参数查看详细说明
  • 建议使用过滤条件减少数据量
  • 生产环境建议设置查询监控和告警

前提条件

用户License分配查询

功能说明

命令: list-user-lic-allocs

核心价值

  • 📊 实时监控:基于运行中作业数据动态计算
  • 🔄 自动聚合:相同license类型跨服务器自动合计
  • 🎯 精准过滤:只显示实际使用的license记录
  • 💻 简化处理:客户端无需数据合并操作

数据来源

  • 实时作业运行数据
  • 当前集群内活跃的license分配
  • 自动过滤零使用量记录

查询所有用户分配

基本命令

./stateclient list-user-lic-allocs

输出示例与解析

Sending requests to server localhost:20051
User License Allocations (4):
========================================
User: alice
License: matlab
Count: 8
----------------------------------------
User: alice
License: ansys
Count: 3
----------------------------------------
User: bob
License: matlab
Count: 2
----------------------------------------
User: charlie
License: nastran
Count: 5
----------------------------------------

数据解读

  • 用户alice:使用8个MATLAB许可证 + 3个ANSYS许可证
  • 用户bob:使用2个MATLAB许可证
  • 用户charlie:使用5个NASTRAN许可证
  • 总计:4条活跃分配记录

按条件过滤查询

按用户过滤

# 查询特定用户的license分配
./stateclient list-user-lic-allocs --user alice

输出示例

User: alice
License: matlab
Count: 8
----------------------------------------
User: alice
License: ansys
Count: 3
----------------------------------------

按许可证类型过滤

# 查询特定license类型的使用情况
./stateclient list-user-lic-allocs --license matlab

输出示例

User: alice
License: matlab
Count: 8
----------------------------------------
User: bob
License: matlab
Count: 2
----------------------------------------

组合过滤

# 查询特定用户的特定license使用
./stateclient list-user-lic-allocs --user alice --license ansys

集群License汇总查询

功能说明

命令: list-cluster-lic-summaries

核心价值

  • 🏛️ 权威数据:基于SLURM原生fsched_list_licenses API
  • 🌐 全局视图:提供集群内外完整license使用情况
  • 📈 资源监控:支持配额和使用率监控
  • 🔗 自动聚合:跨服务器license数据自动合并

数据来源

  • SLURM核心许可证管理API
  • 实时许可证服务器状态
  • 集群内外使用情况统计

查询集群汇总

基本命令

./stateclient list-cluster-lic-summaries

输出示例与深度解析

Sending requests to server localhost:20051
Cluster License Summaries (3):
========================================
License: matlab
Used: 125
Allowed: 180
Total Consumed: 770
----------------------------------------
License: ansys
Used: 30
Allowed: 50
Total Consumed: 45
----------------------------------------
License: nastran
Used: 15
Allowed: 100
Total Consumed: 85
----------------------------------------

字段详细说明

Used (当前集群使用量)

  • 定义:当前集群内已分配给运行中作业的license数量
  • 计算方式:∑(所有运行中作业请求的该license数量)
  • 监控重点:集群内实际占用情况
  • 示例分析:MATLAB有125个正在被集群作业使用

Allowed (集群配额)

  • 定义:分配给当前集群的license总配额上限
  • 配置来源:License Allocation管理设置
  • 业务意义:集群内作业可使用的最大license数量
  • 示例分析:MATLAB集群配额为180个,ANSYS配额为50个

Total Consumed (全局消耗量)

  • 定义:包括当前集群和集群外部的所有实际license消耗
  • 数据来源:License服务器实时监控
  • 业务意义:反映license资源的真实使用压力
  • 示例分析:MATLAB总共消耗770个,说明外部系统使用了645个

按条件过滤查询

按许可证类型过滤

# 查询特定license类型的汇总信息
./stateclient list-cluster-lic-summaries --license matlab

输出示例

License: matlab
Used: 125
Allowed: 180
Total Consumed: 770
----------------------------------------

使用场景与最佳实践

日常监控场景

资源使用率监控

# 每日资源使用检查
./stateclient list-cluster-lic-summaries

# 计算使用率:Used / Allowed × 100%
# MATLAB: 125/180 = 69.4% 使用率
# ANSYS: 30/50 = 60% 使用率

用户行为分析

# 监控高消耗用户
./stateclient list-user-lic-allocs | sort -k6 -nr

容量规划场景

配额调整决策

# 分析配额使用情况
./stateclient list-cluster-lic-summaries --license ansys

决策依据

  • 使用率持续 >80% → 考虑增加配额
  • Total Consumed接近license总数 → 考虑购买更多license

故障排查场景

资源争用分析

# 检查哪些用户占用大量资源
./stateclient list-user-lic-allocs --license matlab

# 验证集群配额设置
./stateclient list-cluster-lic-summaries --license matlab