环境变量#
SGLang 支持各种环境变量,可用于配置其运行时行为。本文档提供了一个全面的列表,并会随着时间推移保持更新。
注意:SGLang 对环境变量使用了两种前缀:SGL_
和 SGLANG_
。这可能是历史原因造成的。虽然目前两者都支持不同的设置,但未来版本可能会进行整合。
通用配置#
环境变量 |
描述 |
默认值 |
---|---|---|
|
启用使用 ModelScope 中的模型 |
|
|
服务器的宿主机 IP 地址 |
|
|
服务器端口 |
自动检测 |
|
自定义日志配置路径 |
未设置 |
|
禁用请求日志记录 |
|
|
健康检查超时时间(秒) |
|
性能调优#
环境变量 |
描述 |
默认值 |
---|---|---|
|
控制是否使用 torch.inference_mode |
|
|
启用 torch.compile |
|
|
启用 CPU 亲和性设置(在 Docker 构建中通常设置为 |
|
|
允许调度器覆盖具有更长上下文长度的请求(在 Docker 构建中通常设置为 |
|
|
控制 FlashInfer 可用性检查 |
|
|
跳过 P2P (peer-to-peer) 访问检查 |
|
|
设置启用分块前缀缓存的阈值 |
|
|
在融合多层注意力中启用 RoPE 融合 |
|
DeepGEMM 配置 (高级优化)#
环境变量 |
描述 |
默认值 |
---|---|---|
|
启用 DeepGEMM 内核的即时编译(JIT) |
|
|
启用 DeepGEMM 内核的预编译 |
|
|
用于并行 DeepGEMM 内核编译的工作进程数 |
|
|
DeepGEMM 预编译脚本中使用的指示标志 |
|
|
用于缓存已编译 DeepGEMM 内核的目录 |
|
|
使用 NVRTC (代替 Triton) 进行 JIT 编译(实验性) |
|
|
对批处理矩阵乘法 (BMM) 操作使用 DeepGEMM |
|
内存管理#
环境变量 |
描述 |
默认值 |
---|---|---|
|
启用内存池调试 |
|
|
剪裁内存规划中最大新 tokens 估计值 |
未设置 |
|
去 token 器最大状态数 |
基于系统的默认值 |
|
禁用张量并行(Tensor Parallel) ranks 之间的内存不平衡检查 |
未设置(默认为启用检查) |
模型特定选项#
环境变量 |
描述 |
默认值 |
---|---|---|
|
使用 AITER MOE 实现 |
|
|
启用 INT4 权重量化 |
|
|
启用 MoE 填充(如果值为 |
|
|
即使其他 FP8 内核可用,也强制使用 FP8 MARLIN 内核 |
|
分布式计算#
环境变量 |
描述 |
默认值 |
---|---|---|
|
控制非零 rank 子进程的阻塞 |
|
|
指示当前进程是否是其节点上的第一个 rank |
|
|
流水线并行层划分规范 |
未设置 |
测试与调试 (内部/持续集成)#
这些变量主要用于内部测试、持续集成或调试。
环境变量 |
描述 |
默认值 |
---|---|---|
|
指示是否在持续集成(CI)环境中运行 |
|
|
指示是否在 AMD CI 环境中运行 |
|
|
启用回撤解码测试 |
|
|
记录步长耗时用于性能分析 |
|
|
测试请求耗时统计 |
|
|
在持续集成(CI)中使用小的 KV 缓存大小 |
未设置 |
性能分析与基准测试#
环境变量 |
描述 |
默认值 |
---|---|---|
|
PyTorch 性能分析器输出目录 |
|
存储与缓存#
环境变量 |
描述 |
默认值 |
---|---|---|
|
禁用 Outlines 磁盘缓存 |
|