Ray初始化触发磁盘空间不足警告,修改对象溢出路径无效求助
解决Ray初始化时磁盘空间不足的问题
问题重现
初始化Ray时持续收到磁盘空间不足警告:
# start Ray import ray import psutil # Start Ray num_cpus = psutil.cpu_count(logical=False) if not ray.is_initialized(): context = ray.init(num_cpus=num_cpus)
警告内容:
(raylet) file_system_monitor.cc:111: /tmp/ray/session_2023-06-29_11-21-28_818264_5598 is over 95% full, available space: 1392345088; capacity: 269427478528. Object creation will fail if spilling is required
尝试指定对象溢出路径但未解决:
ray.init( num_cpus=num_cpus=num_cpus, _system_config={ "object_spilling_config": json.dumps( {"type": "filesystem", "params": {"directory_path": "/mnt/c/Users/user/Desktop/tmpxd"}}, ) }, )
解决方案
修正代码笔误
初始化代码里num_cpus=num_cpus=num_cpus是重复赋值错误,改为num_cpus=num_cpus。修改Ray的临时根目录
Ray的session数据默认存在/tmp/ray下,仅修改对象溢出路径不会改变这个目录。需要在ray.init中指定temp_dir参数,将整个Ray的临时文件目录迁移到空间充足的路径:import ray import psutil import json num_cpus = psutil.cpu_count(logical=False) if not ray.is_initialized(): context = ray.init( num_cpus=num_cpus, temp_dir="/mnt/c/Users/user/Desktop/tmpxd", _system_config={ "object_spilling_config": json.dumps( {"type": "filesystem", "params": {"directory_path": "/mnt/c/Users/user/Desktop/tmpxd/spill"}} ) } )temp_dir指定Ray存放session、日志等临时文件的根目录- 可以给对象溢出单独设置子目录,避免和其他临时文件混放
确保目录权限
确认指定的/mnt/c/Users/user/Desktop/tmpxd目录已创建,且当前用户有读写权限。环境变量方式(可选)
也可以通过环境变量提前设置,无需修改代码:export RAY_TEMP_DIR="/mnt/c/Users/user/Desktop/tmpxd"
内容的提问来源于stack exchange,提问作者John Stud
相关产品推荐
相关产品推荐

