3

Я использую VPS (запущенный Debian) с 512 Мб оперативной памяти. Я пытаюсь скопировать некоторый файл локально на сервере с помощью rsync, но это быстро не удается с этим сообщением:

rsync: writefd_unbuffered failed to write 5 bytes to socket [sender]: Broken pipe (32)
rsync: connection unexpectedly closed (13505 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(601) [sender=3.0.7]

Это всего 113 МБ файлов (из них 10.000). Но он терпит неудачу задолго до достижения всех этих файлов.

Я полагаю, что это из-за ограниченной доступной памяти, но кажется, что мне должно быть достаточно? Есть ли способ обойти это? Могу ли я заставить rsync использовать файл в качестве стека памяти?

Обновление по запросу

команда rsync

rsync -av /srv .

ulimit -a

nine@www:~$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 16382
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) unlimited
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

свободно

nine@www:~$ free
             total       used       free     shared    buffers     cached
Mem:        524288     231104     293184          0          0          0
-/+ buffers/cache:     231104     293184
Swap:            0          0          0

Своп, вероятно, поможет. Проблема в том, что я не думаю, что мой VPS поддерживает добавление этого.

Попробуй сделать своп

nine@www:~$ sudo swapon /home/nine/swap.file 
swapon: /home/nine/swap.file: swapon failed: Operation not allowed

Почему я думаю, что это проблема с памятью

У меня возник вопрос, почему я думаю, что это проблема с памятью. Это из-за того, что говорит мне панель управления для моего VPS. Существует таблица, которая показывает ошибки для машины, выглядит так:

resourcetype    held    maxheld     limit           failcnt
numiptent       24  24      800             0
numfile         1612    2324        4200            0
dcachesize      440391  547046      20480000        0
numothersock    104     139     6000            0
dgramrcvbuf     0   17224       262144000       0
othersockbuf    172272  442048      262144000       0
tcprcvbuf       114688  4962176     262144000       0
tcpsndbuf       122528  2177672     262144000       0
numsiginfo      0   3       256             0
numpty      1   3       32          0
numflock        6   13      4120            0
numtcpsock      7   34      6000            0
oomguarpages    14029   23497       131072          0
vmguarpages     0   0       131072          0
physpages       14029   23497       9223372036854776000     0
numproc         102     142         4000            0
shmpages        697     1993        512000          0
privvmpages     57818   131075      131072          51
lockedpages     0   0       8192            0
kmemsize        5566036 7796832     117760000       0

Следите за подсчетом сбоев для privvmages, которые, как я полагаю, показывают, когда память разрывается выше предела. Это подсчитывается всякий раз, когда я запускаю rsync.

1 ответ1

2

rsync занимает больше памяти, когда файлов больше.

Либо разделите файлы в отдельные папки и выполните rsync, либо TAR все 10000 файлов в исходном расположении и rsync 10000.tar к вашему vps, а затем распакуйте его.

Я не знаю, решена ли эта проблема в последней версии (3.1), но это была проблема с более ранними версиями.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .