Add sysbox support to remote runtime for eval; Add memory monitor, stress tests to help debug memory issue (#6684)

Co-authored-by: openhands <openhands@all-hands.dev>
Co-authored-by: Engel Nyst <enyst@users.noreply.github.com>
Co-authored-by: Graham Neubig <neubig@gmail.com>
This commit is contained in:
Xingyao Wang
2025-02-18 15:02:28 -05:00
committed by GitHub
parent 8d097efb4f
commit 1a7003a705
35 changed files with 687 additions and 419 deletions

View File

@@ -255,7 +255,6 @@ class DockerRuntime(ActionExecutionClient):
server_port=self._container_port,
plugins=self.plugins,
app_config=self.config,
use_nice_for_root=False,
)
try:

View File

@@ -75,6 +75,8 @@ class RemoteRuntime(ActionExecutionClient):
'remote_runtime_api_url is required in the remote runtime.'
)
assert self.config.sandbox.remote_runtime_class in (None, 'sysbox', 'gvisor')
self.runtime_builder = RemoteRuntimeBuilder(
self.config.sandbox.remote_runtime_api_url,
self.config.sandbox.api_key,
@@ -225,6 +227,9 @@ class RemoteRuntime(ActionExecutionClient):
'session_id': self.sid,
'resource_factor': self.config.sandbox.remote_runtime_resource_factor,
}
if self.config.sandbox.remote_runtime_class == 'sysbox':
start_request['runtime_class'] = 'sysbox-runc'
# We ignore other runtime classes for now, because both None and 'gvisor' map to 'gvisor'
# Start the sandbox using the /start endpoint
try: