rsync 系统性地导致 Ubuntu LTS 24.04 上的整个计算机崩溃

rsync 系统性地导致 Ubuntu LTS 24.04 上的整个计算机崩溃

我正在从 MacOS 切换到 Linux。大约 10 天前,我安装了 Ubuntu 24.04 LTS。以下是有关我的系统的一些数据:

OS: Ubuntu 24.04 LTS x86_64
Host: ThinkPad P1 Gen 6
Kernel: 6.8.0-31-generic
Shell: zsh 5.9
Resolution: 2560x1440
DE: GNOME 46.0
Terminal: tmux
CPU: 13th Gen Intel i7-13700H (20) @ 4.800GHz
GPU: Intel Raptor Lake-P [UHD Graphics]
GPU: NVIDIA RTX 2000 Ada Generation Laptop GPU
Memory: 4211MiB / 31753MiB


现在我想将数据从 exFat 格式化的外部硬盘传输到我的机器的硬盘上,方法rsync 3.2.7如下script.zsh

#!/bin/zsh

set -o errexit
set -o nounset
set -o pipefail

VOLUME_NAME="bckp_11"
SUBDIR="subdir"
SOURCEDIR="/media/mycomputer/${VOLUME_NAME}/path/to/Documents/${SUBDIR}"
TARGETDIRCURRENT="/home/mycomputer/Documents/macos_documents/${SUBDIR}"

rsync -vaP $SOURCEDIR $TARGETDIRCURRENT --delete || exit 1

系统地运行脚本(迄今为止尝试了 4 次),并在启动后 1-2 分钟内完全冻结/崩溃计算机,以至于我不得不按下电源按钮硬重启计算机。

有人遇到过这个问题/有解决方案吗?

编辑

根据评论,我删除了 rsync 命令的一些标志,并将带有 rsync 命令的脚本行更改为以下内容:

rsync -vvvvv -a --progress --delete "${SOURCEDIR}" "${TARGETDIRCURRENT}" || exit 1

它崩溃了2次。

tmux 窗格中的输出rsync如下:

send_files(107999, /path/to/sourcefile.jpg)
count=0 n=0 rem=0
send_files mapped /path/to/sourcefile.jpg of size 2110
calling match_sums /path/to/sourcefile.jpg
/path/to/sourcefile.jpg

与此同时,tmuxtop窗格中的(相关?)信息如下:

MiB Mem : 31753.9 total, 7666.2 free, 3451.9 used, 21720.0 buff/cache
MiB Swap:  8192.0 total, 8191.7 free,    0.2 used, 28302.0 avail Mem


VIRT     RES     SHR     %CPU   %MEM   COMMAND
989432   178452  20400   109.3  0.5    tracker-miner-f
2359116  75988   11680   50.2   0.2    DisplayLinkMana
19960    5616    3360    16.3   0.0    tmux: server
981060   98276   52084   10.3   0.3    alacritty
18516    8960    6080     9.3   0.0    rsync
5930600  325752  133912   4.7   1.0    gnome-shell
23108    7116    1280     4.3   0.0    rsync
27.3g    154892  103332   3.7   0.5    Xorg

我对这些数字不是很熟悉,但是 gnome-shell 的(=虚拟内存)消耗最高VIRT(5930600)或者是 Xorg(27.3g:这是否"g"意味着 Giga?)。

有2个rsync实例,有问题吗?

需要指出的是,在一次运行该命令时,如果要复制的目录在上一次会话中被部分复制,则不会崩溃。但是,当 rsync 从头传输目录时,它会崩溃。

此外,这是命令的输出free(但是在稳定情况下而不是崩溃期间)

$ free
               total        used        free      shared  buff/cache   available
Mem:        32515960     4268956    24328520      930904     5315760    28247004
Swap:        8388604           0     8388604

编辑2

我也尝试过(它也在不到一分钟的时间内崩溃了):

rsync -rptgo --progress --delete "${SOURCEDIR}" "${TARGETDIRCURRENT}" || exit 1

我还尝试了以下操作(它也崩溃了):

setopt +o nullglob; for source in "${SOURCEDIR}"/{,.}*; do rsync -a --progress --delete "${source}" "${TARGETDIRCURRENT}"; done

相关内容