Closed winterant closed 1 year ago
程序使用共享内存文件系统 /dev/shm
来储存由 copyOutCached
指定的文件,此文件系统默认在 docker 大小为 64 兆字节。可以以 --shm-size=256m
来增加空间。如果是长时间运行发生的问题,很可能是创建的临时文件没有被完美的删除。建议检查程序的边界情况判明遗漏情况。也可以添加 -file-timeout=10m
参数来指定文件自动过期时间。
明白了,感谢! 我检查下,再观察几天看看。
在 此处 编译失败时,可能有编译的文件被缓存但是没有进入到删除模式。同时,删除缓存操作在运行时异常丢出的时候并不保证会被执行,可能需要 try-catch
来保证。同时 copyOutDir 参数是不必要的。
在 此处 编译失败时,可能有编译的文件被缓存但是没有进入到删除模式。同时,删除缓存操作在运行时异常丢出的时候并不保证会被执行,可能需要
try-catch
来保证。同时 copyOutDir 参数是不必要的。
大佬太强了!感谢指出!
刚才经过本地验证,确实存在“可能有编译的文件被缓存但是没有进入到删除模式”这种情况。日志表明Judger
有执行失败的情况(如超时),需要 try-catch
来保证。然后再用-file-timeout=10m
确保一下。
如果方便,可否加一下联系方式交流?QQ545734785
今天又出现上述情况了。貌似不是缓存文件的问题,缓存文件并不多:
服务器内存剩余50G,磁盘还有200G。
附加说明:已经设置了环境变量ES_FILE_TIMEOUT=10m
程序使用共享内存文件系统 /dev/shm 来储存由 copyOutCached 指定的文件,此文件系统默认在 docker 大小为 64 兆字节。可以以 --shm-size=256m 来增加空间 (docker compose 为
shm_size
参数)
可以尝试 docker exec -it container_id /bin/bash
进入容器,然后 df -h
查看 /dev/shm
使用空间
以docker容器运行4天之后,突然对所有请求(包括以前正常的请求)都返回File Error,
error
字段内容:重启容器之后恢复正常。
看起来是内存不足,但错误发生时记了一下内存信息,挺充足的:
由于重启后恢复正常,没有记录下更多信息。请大佬帮忙看下可能是什么问题导致?