[Engine] Freeze GC after server warmup (#34999)
Co-authored-by: Jialin Ouyang <Jialin.Ouyang@gmail.com>
This commit is contained in:
co-authored by
Jialin Ouyang
parent
eb61cb2823
commit
9be3044b9c
@@ -2331,6 +2331,25 @@ def _execute_server_warmup(server_args: ServerArgs):
|
||||
return success
|
||||
|
||||
|
||||
def _freeze_gc_after_server_warmup(server_args: ServerArgs):
|
||||
# Freeze GC after server warmup so static objects skip future GC gen2 collection.
|
||||
# Use /freeze_gc to freeze scheduler and detokenizer as well.
|
||||
freeze_key = server_args.admin_api_key or server_args.api_key
|
||||
freeze_headers = {}
|
||||
if freeze_key:
|
||||
freeze_headers["Authorization"] = f"Bearer {freeze_key}"
|
||||
try:
|
||||
res = requests.post(
|
||||
server_args.url() + "/freeze_gc",
|
||||
headers=freeze_headers,
|
||||
timeout=10,
|
||||
verify=server_args.ssl_verify(),
|
||||
)
|
||||
res.raise_for_status()
|
||||
except requests.exceptions.RequestException:
|
||||
logger.warning("post-warmup freeze_gc failed", exc_info=True)
|
||||
|
||||
|
||||
def _wait_and_warmup(
|
||||
server_args: ServerArgs,
|
||||
launch_callback: Optional[Callable[[], None]] = None,
|
||||
@@ -2354,6 +2373,8 @@ def _wait_and_warmup(
|
||||
else:
|
||||
_global_state.tokenizer_manager.server_status = ServerStatus.Up
|
||||
|
||||
_freeze_gc_after_server_warmup(server_args)
|
||||
|
||||
# The server is ready for requests
|
||||
logger.info("The server is fired up and ready to roll!")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user