[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
|
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(
|
def _wait_and_warmup(
|
||||||
server_args: ServerArgs,
|
server_args: ServerArgs,
|
||||||
launch_callback: Optional[Callable[[], None]] = None,
|
launch_callback: Optional[Callable[[], None]] = None,
|
||||||
@@ -2354,6 +2373,8 @@ def _wait_and_warmup(
|
|||||||
else:
|
else:
|
||||||
_global_state.tokenizer_manager.server_status = ServerStatus.Up
|
_global_state.tokenizer_manager.server_status = ServerStatus.Up
|
||||||
|
|
||||||
|
_freeze_gc_after_server_warmup(server_args)
|
||||||
|
|
||||||
# The server is ready for requests
|
# The server is ready for requests
|
||||||
logger.info("The server is fired up and ready to roll!")
|
logger.info("The server is fired up and ready to roll!")
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user