rsync 在一段时间后意外终止

Ara*_*avi 7 debian ssh rsync nohup debian-wheezy

我在 ssh 会话中运行一个rsync命令nohup,但过了一会儿它返回这个错误:

rsync error: received SIGINT, SIGTERM, or SIGHUP (code 20) at rsync.c(549) [generator=3.0.9]
rsync error: received SIGINT, SIGTERM, or SIGHUP (code 20) at rsync.c(549) [receiver=3.0.9]
Run Code Online (Sandbox Code Playgroud)

我没有自己杀死这个进程,我认为没有任何其他进程可以杀死这个进程。我也用nohup. 我使用nohup是因为 ssh 会话因任何原因终止,rsync进程不会终止。

什么导致终止?

操作系统是 Debian Wheezy。

Ed *_*ing 3

这是一个老问题,信息有限,但我认为发生的事情不是 rsync 问题(因为 rsync 不会 sigkill 本身)。

我遇到了类似的问题,结果是内存问题。内核中的内存不足管理通过查看使用的虚拟内存量除以总运行时间来确定要终止哪个进程。

Rsync 可能会消耗大量内存,具体取决于正在传输的文件的大小和数量,并且运行时间值较低。当内核调用 select_bad_process() 时,这会增加它的分数。

启动 rsync 后,使用一个简单的脚本检查内存使用情况,记录 rsync 内存使用情况:

while [ 1 ]; do
  pidstat -r -G rsync >> stat.log
  free >> stat.log
done
Run Code Online (Sandbox Code Playgroud)

还要在 rsync 终止时检查 dmesg,如果存在 OOM 错误,您会看到它们。