环境变量#

SGLang 支持各种环境变量,可用于配置其运行时行为。本文档提供了一个全面的列表,并会随着时间推移保持更新。

注意:SGLang 对环境变量使用了两种前缀:SGL_SGLANG_。这可能是历史原因造成的。虽然目前两者都支持不同的设置,但未来版本可能会进行整合。

通用配置#

环境变量

描述

默认值

SGLANG_USE_MODELSCOPE

启用使用 ModelScope 中的模型

false

SGLANG_HOST_IP

服务器的宿主机 IP 地址

0.0.0.0

SGLANG_PORT

服务器端口

自动检测

SGLANG_LOGGING_CONFIG_PATH

自定义日志配置路径

未设置

SGLANG_DISABLE_REQUEST_LOGGING

禁用请求日志记录

false

SGLANG_HEALTH_CHECK_TIMEOUT

健康检查超时时间(秒)

20

性能调优#

环境变量

描述

默认值

SGLANG_ENABLE_TORCH_INFERENCE_MODE

控制是否使用 torch.inference_mode

false

SGLANG_ENABLE_TORCH_COMPILE

启用 torch.compile

true

SGLANG_SET_CPU_AFFINITY

启用 CPU 亲和性设置(在 Docker 构建中通常设置为 1

0

SGLANG_ALLOW_OVERWRITE_LONGER_CONTEXT_LEN

允许调度器覆盖具有更长上下文长度的请求(在 Docker 构建中通常设置为 1

0

SGLANG_IS_FLASHINFER_AVAILABLE

控制 FlashInfer 可用性检查

true

SGLANG_SKIP_P2P_CHECK

跳过 P2P (peer-to-peer) 访问检查

false

SGL_CHUNKED_PREFIX_CACHE_THRESHOLD

设置启用分块前缀缓存的阈值

8192

SGLANG_FUSED_MLA_ENABLE_ROPE_FUSION

在融合多层注意力中启用 RoPE 融合

1

DeepGEMM 配置 (高级优化)#

环境变量

描述

默认值

SGL_ENABLE_JIT_DEEPGEMM

启用 DeepGEMM 内核的即时编译(JIT)

"true"

SGL_JIT_DEEPGEMM_PRECOMPILE

启用 DeepGEMM 内核的预编译

"true"

SGL_JIT_DEEPGEMM_COMPILE_WORKERS

用于并行 DeepGEMM 内核编译的工作进程数

4

SGL_IN_DEEPGEMM_PRECOMPILE_STAGE

DeepGEMM 预编译脚本中使用的指示标志

"false"

SGL_DG_CACHE_DIR

用于缓存已编译 DeepGEMM 内核的目录

~/.cache/deep_gemm

SGL_DG_USE_NVRTC

使用 NVRTC (代替 Triton) 进行 JIT 编译(实验性)

"0"

SGL_USE_DEEPGEMM_BMM

对批处理矩阵乘法 (BMM) 操作使用 DeepGEMM

"false"

内存管理#

环境变量

描述

默认值

SGLANG_DEBUG_MEMORY_POOL

启用内存池调试

false

SGLANG_CLIP_MAX_NEW_TOKENS_ESTIMATION

剪裁内存规划中最大新 tokens 估计值

未设置

SGLANG_DETOKENIZER_MAX_STATES

去 token 器最大状态数

基于系统的默认值

SGL_DISABLE_TP_MEMORY_INBALANCE_CHECK

禁用张量并行(Tensor Parallel) ranks 之间的内存不平衡检查

未设置(默认为启用检查)

模型特定选项#

环境变量

描述

默认值

SGLANG_AITER_MOE

使用 AITER MOE 实现

false

SGLANG_INT4_WEIGHT

启用 INT4 权重量化

false

SGLANG_MOE_PADDING

启用 MoE 填充(如果值为 1,则将填充大小设置为 128,在 Docker 构建中通常设置为 1

0

SGLANG_FORCE_FP8_MARLIN

即使其他 FP8 内核可用,也强制使用 FP8 MARLIN 内核

false

分布式计算#

环境变量

描述

默认值

SGLANG_BLOCK_NONZERO_RANK_CHILDREN

控制非零 rank 子进程的阻塞

1

SGL_IS_FIRST_RANK_ON_NODE

指示当前进程是否是其节点上的第一个 rank

"true"

SGLANG_PP_LAYER_PARTITION

流水线并行层划分规范

未设置

测试与调试 (内部/持续集成)#

这些变量主要用于内部测试、持续集成或调试。

环境变量

描述

默认值

SGLANG_IS_IN_CI

指示是否在持续集成(CI)环境中运行

false

SGLANG_AMD_CI

指示是否在 AMD CI 环境中运行

0

SGLANG_TEST_RETRACT

启用回撤解码测试

false

SGLANG_RECORD_STEP_TIME

记录步长耗时用于性能分析

false

SGLANG_TEST_REQUEST_TIME_STATS

测试请求耗时统计

false

SGLANG_CI_SMALL_KV_SIZE

在持续集成(CI)中使用小的 KV 缓存大小

未设置

性能分析与基准测试#

环境变量

描述

默认值

SGLANG_TORCH_PROFILER_DIR

PyTorch 性能分析器输出目录

/tmp

存储与缓存#

环境变量

描述

默认值

SGLANG_DISABLE_OUTLINES_DISK_CACHE

禁用 Outlines 磁盘缓存

true