Назад | Перейти на главную страницу

dd, используя всю память и своп

У меня есть выделенный Linux-сервер Centos 6.9 от компании, который разбился из-за сбоя оборудования и был восстановлен со старыми жесткими дисками на USB-накопителе. Я пытаюсь переместить разделы lvm на новые внутренние жесткие диски. Я создал новую группу томов и логические тома того же размера. В настоящее время разделы используются виртуальными машинами kvm. Я сделал снимок лв. Затем я использую что-то вроде следующего, чтобы скопировать разделы.

dd if=/dev/OldVolGroup/lv__snap of=/dev/NewVolGroup/lv bs=1M

Кажется, это хорошо работает со следующей скоростью:

8192+0 records in
8192+0 records out
8589934592 bytes (8.6 GB) copied, 264.61 s, 32.5 MB/s

Однако таран, а затем и своп медленно начинает проглатываться. Когда я начинаю, в коробке 24 ГБ оперативной памяти и около 4 ГБ. У него есть 2 ГБ лв для свопа.

Мне удалось выключить некоторые kvm-машины, чтобы освободить больше памяти, около 7-8 ГБ, и мне удалось завершить передачу 8 ГБ без использования всех ресурсов.

Может ли кто-нибудь сказать мне, почему он использует столько памяти, а затем меняет местами? Это нормально?

Это потому, что dd читает в кеш перед записью. Если у вас есть top вы увидите, что это кеш, который используется раньше, чем память. Все, что вы действительно можете сделать, - это попробовать увеличить размер блока. Это нехорошо делать на работающем сервере, но, очевидно, это то, с чем вы работаете.