Моя проблема - это: Мой ноутбук имеет относительно медленную дисковую подсистему (AMD, я не собираюсь покупать лучший), и я копирую свое системное использование rsync
который работает хорошо на меня. Однако во время процесса резервного копирования, чтение файлов читается в буфер/кэш системы, которая в конечном счете инициировала систему подкачки.
Например, выполнение cat Win10.qcow2 > /dev/null
файл на 60 ГБ приведет к
free -h
total used free shared buff/cache available
Mem: 15Gi 2.2Gi 210Mi 170Mi 13Gi 12Gi
Swap: 30Gi 14Mi 30Gi
и если я пишу в физическое устройство, как мой резервный диск USB, подкачка начинает использоваться, до нескольких ГБ. Я действительно имею vm.swappiness = 0
в /etc/sysctl
Отдельно, это не плохо, но из-за моей медленной дисковой системы, компьютер становится менее, чем бодрым в ответ на исходные данные. Крайне медленный, на самом деле.
То, что я хотел бы иметь, является методом для ограничения суммы буфера страницы, который процесс может использовать, покинув достаточно комнаты для выполнения меньших команд, таких как открытие терминала.
То, что я попробовал, использует lxc
, который не ограничил системное использование буферов, docker
который я еще не мог полностью выяснить, и я пытаюсь добраться lxd
при выполнении, но мне будет требоваться некоторое время для понимания этого один.
Существует программа nocache
который я думаю работы, но rsync
затем не производит индикаторы хода выполнения.
По умолчанию, когда rsync
обновляет Ваше резервное копирование, оно создает копию файла и затем перемещает его в место. Для предотвращения этого шага, Вы можете иметь rsync
запишите непосредственно в свое резервное копирование с --inplace
аргумент.
Согласно https://linux.die.net/man/1/rsync:
- оперативный
Эта опция изменяется, как rsync передает файл, когда данные файла должны быть обновлены: вместо метода по умолчанию создания новой копии файла и перемещения это в место, когда это завершено, rsync вместо этого, пишет обновленные данные непосредственно в целевой файл.
Это имеет несколько эффектов:
(1) используемые двоичные файлы не могут быть обновлены (или ОС, предотвратит это или двоичные файлы, которые пытаются к загрузке, их данные будут неправильно себя вести или отказывать),
(2) данные файла будут в непоследовательном состоянии во время передачи,
(3) данные файла можно оставить в непоследовательном состоянии после передачи, если передача прервана или если обновление перестало работать,
(4) файл, который не имеет полномочий записи, не может быть обновлен, и
(5) эффективность алгоритма передачи дельты rsync может быть уменьшена, если некоторые данные в целевом файле перезаписываются, прежде чем это сможет быть скопировано в положение позже в файле (одно исключение к этому - то, при объединении этой опции с - резервное копирование так как rsync достаточно умен использовать файл резервной копии в качестве базисного файла для передачи).
ПРЕДУПРЕЖДЕНИЕ: Вы не должны использовать эту опцию обновить файлы, к которым получают доступ другие, так быть осторожными при желании использовать это для копии.
Эта опция полезна для передачи больших файлов с основанными на блоке изменениями или добавленными данными, и также в системах, которые являются связанным диском, не связанная сеть.
Опция подразумевает
--partial
(так как прерванная передача не удаляет файл), но конфликтует с--partial-dir
и--delay-updates
. Доrsync 2.6.4
--inplace
было также несовместимым с--compare-des
t и--link-dest
.