linux – 为什么rsync会自行分配?为什么一个这样的分叉过程几乎有点空闲(如iotop中所见)?

前端之家收集整理的这篇文章主要介绍了linux – 为什么rsync会自行分配?为什么一个这样的分叉过程几乎有点空闲(如iotop中所见)?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这是指 matter stated here,我也遇到了同样的情况.

在我的一台服务器中,我运行了一个rsync,将一个巨大的目录(大小超过300 Gb)备份到安装在同一台机器上的另一个磁盘上. rsynced目录包含数千个目录和文件.我用’nohup’发出了一个rsync命令,然后使用’&’在后台推送它命令.远程bash shell上给出的完整命令(使用putty)是:

nohup rsync -avh /some/local/dir /backup/ >> /opt/rsync.dec22.log &

然后,为了检查复制数据的速率,我使用了’iotop’命令,发现有3个rsync运行相同的参数.在搜索时我发现上面的链接说它是正常的.

但是做一个iotop只监视系统上运行的那些和唯一的rsync进程,我看到一个进程正在读取文件,一个正在编写它们,但一个是空闲的.行为似乎很好,因为一个进程一次只做一件事,但是第三个进程在做什么(在下图中看作中间进程)?

我用过的iotop命令是:

iotop -p22250 -p22251 -p22252

以下是iotop命令输出的屏幕截图:

我问这个原因我经常使用rsync,并希望了解它的行为以获得长期利益.我甚至阅读了手册,但它没有提到分叉.

解决方法

rsync是一个旨在成为客户端和服务器的程序.服务器读取并且客户端写入.想象一下,不是一台计算机,而是计算机通过网络,我相信如果你这么想就会更清楚.

然后是控制器.由于IO操作往往带来一定的风险,因此IO问题不应导致完全阻塞或崩溃.因此,它为每个连接创建一个fork并位于后台.

猜你在找的Linux相关文章