概述
本文介绍 LSF 在操作系统分区和虚拟化环境中的工作方式,重点关注 Oracle Solaris 容器和 IBM AIX 分区。
总结
| 环境类型 | LSF 支持情况 |
|---|---|
| LPARs、DLPARs、微分区 | ✅ 完全支持 |
| WPARs | ❌ 不支持 |
| Solaris 全局区域 | ✅ 完全支持 |
| Solaris 非全局区域(专用CPU) | ✅ 支持 |
| Solaris 非全局区域(CPU封顶/Fair Share) | ⚠️ 有限制 |
Oracle Solaris 10 容器
全局区域
在 Solaris 10 的全局区域中,LSF 运行良好,没有已知问题。
非全局区域
在 Solaris 10 的非全局区域中,LSF 有以下已知限制:
推荐配置:专用固定 CPU 数量
当配置专用 CPU 且数量固定时(最小 CPU 数等于最大 CPU 数),LSF 可以正确报告:
- CPU 数量
- CPU 使用率
1
2
# 推荐:固定 CPU 数量
min_cpus = max_cpus = 4
不推荐:CPU 范围配置
如果指定 CPU 范围(最小 CPU 数不等于最大 CPU 数),当容器添加或移除 CPU 时,LSF 无法准确报告 CPU 数量和使用率。
不支持:CPU 封顶 (CPU Capping)
CPU 封顶设计上会使全局区域中的所有 CPU 对每个容器可见。LSF 检测到的 CPU 数量是物理主机的总 CPU 数量。
示例场景:
- 物理主机有 2 个 CPU
- 两个 Solaris 容器 z1 和 z2,各有 0.8 CPU 封顶
- z1 运行一个使用全部可用 CPU (0.8) 的作业
- z2 没有运行作业
结果:z1 和 z2 都显示 40% CPU 利用率(主机级别),即使 z1 已无容量而 z2 有完整容量。
警告:不要在 LSF 环境中使用 Solaris 容器的 CPU 封顶功能,因为它们是冲突的工作负载管理工具。
不支持:Fair Share Scheduler
配置 Fair Share Scheduler 时,情况与 CPU 封顶类似。所有 CPU 对共享区域可见,报告全局级别的 CPU 利用率。基于 CPU 的 LSF 调度在此环境中无法正常工作。
IBM AIX 分区
分区类型
| 类型 | 描述 |
|---|---|
| 专用处理器分区 | 整个处理器分配给特定逻辑分区 |
| 共享处理器分区 | 物理处理器虚拟化后分配给分区(封顶或非封顶) |
| 应用 WPAR | 轻量级环境,适合执行一个或多个进程,与应用生命周期相同 |
| 系统 WPAR | 几乎完整的 AIX 环境,有专用可写文件系统 |
LPARs 和 DLPARs
专用处理器的 LPARs
LSF 运行良好,正确报告 CPU 利用率。
专用处理器的 DLPARs
LSF 运行良好,正确报告:
- CPU 利用率
- 动态更改 CPU 分配后的处理器数量
微分区 (Micropartitions)
在配置了共享处理器的微分区中:
- LSF 检测的 CPU 数量与配置的虚拟处理器数量相同
- 独立报告每个分区的 CPU 利用率
- CPU 利用率是相对于节点授权容量校准的
示例:
- 节点使用的内核是授权容量的 1.5 倍
mpstat输出显示 60% CPU 利用率- LSF 报告 ut 为 90%
WPARs
| WPAR 类型 | LSF 支持 | 原因 |
|---|---|---|
| 应用 WPAR | ❌ | 短暂性,不适合服务器应用 |
| 系统 WPAR | ❌ | 缺少 /dev/mem 和 /dev/kmem 设备访问 |

配置建议
Solaris 环境
- 推荐:在非全局区域使用专用固定数量的 CPU
- 避免:使用 CPU 封顶或 Fair Share Scheduler
- 可选:非全局区域关联到具有固定 CPU 数量处理器集的静态资源池
AIX 环境
- 使用 LPARs、DLPARs 或微分区运行 LSF
- 避免在 WPARs 上运行 LSF
- 微分区可正确报告 CPU 利用率(相对于授权容量)