В системе с мадам на 64 ГБ Буфер Linux работает полный при копировании с dd в dev пустой указатель и остановки io до руководства drop_caches

Я выполняю сервер с набегом программного обеспечения Linux 10. Это - двойная система ЦП с 64 ГБ Ram. 2x16 ГБ dimms связанный с каждым из центральных процессоров. Я хочу использовать dd, чтобы резервировать kvm виртуальные машины и столкнуться с серьезной io проблемой. Сначала я думал, связан с набегом, но это - проблема управления памятью Linux. Вот пример:

  1. Память прекрасна: http://i.stack.imgur.com/NbL60.jpg
  2. Я запускаю dd: http://i.stack.imgur.com/kEPN2.jpg
  3. Вы видите также nmon, показывает доступ к диску: http://i.stack.imgur.com/Njcf5.jpg
  4. Через некоторое время "буферы" являются большими, и прогресс копии останавливает http://i.stack.imgur.com/HCefI.jpg
  5. Вот meminfo: http://i.stack.imgur.com/KR0CE.jpg
  6. Здесь dd производят: http://i.stack.imgur.com/BHjnR.jpg
  7. Я могу вручную решить временный проблема и сила, отбрасывающая кэш: "синхронизация; отзовитесь эхом 3>/proc/sys/vm/drop_caches"
  8. Вызову требуются несколько секунд, и немедленно после этого dd скорость достигает нормального уровня. Уверенный я могу cronjob каждая минута или такие вещи, но это не действительное решение. http://i.stack.imgur.com/zIDRz.jpg http://i.stack.imgur.com/fO8NV.jpg

У кого-либо есть решение или подсказка конфигурации? Вот также мой sysctl, но все значения являются значениями по умолчанию песней: http://i.stack.imgur.com/ZQBNG.jpg

Edit1

Я делаю другой тест и делаю dd к диску вместо этого/dev/null. На этот раз также в одной команде без объема плазмы. Так его единственное один процесс. dd if=/dev/vg_main_vms/AppServer_System of=AppServer_System bs=4M

  1. Это запускается с чтения, не пишущий (цель не находится на тех же дисках), http://i.stack.imgur.com/jJg5x.jpg
  2. Через некоторое время запись запускается, и чтение замедляют http://i.stack.imgur.com/lcgW6.jpg
  3. После этого пишущий только время прибывает: http://i.stack.imgur.com/5FhG4.jpg
  4. Теперь запускает основную проблему. Процесс копии замедляется к ниже 1 МБ und, ничего не произошло: http://i.stack.imgur.com/YfCXc.jpg
  5. Для процесса dd теперь нужно 100%-е процессорное время (1 ядро) http://i.stack.imgur.com/IZn1N.jpg
  6. И снова я могу вручную решить временный проблема и сила, отбрасывающая кэш: sync; echo 3 > /proc/sys/vm/drop_caches. После этого та же игра запускается снова...

Edit2

Для локального dd я могу обходное решение с параметром iflag=direct и oflag=direct. Но это не универсальное решение, потому что существует также другой доступ к файлу как файлы копии к локальным долям самбы от vm, и там я не могу использовать такие параметры. Должна быть тонкая настройка правил кэша системного файла, потому что она наклоняется быть нормальной, что Вы наклоняете копию большие файлы без таких проблем.

3
задан 18 May 2015 в 21:48
1 ответ

Просто дикая догадка. Ваша проблема может быть большой грязной смывкой страниц. Попробуйте настроить /etc/sysctl.conf как:

# vm.dirty_background_ratio contains 10, which is a percentage of total system memory, the 
# number of pages at which the pdflush background writeback daemon will start writing out 
# dirty data. However, for fast RAID based disk system this may cause large flushes of dirty
# memory pages. If you increase this value from 10 to 20 (a large value) will result into 
# less frequent flushes:
vm.dirty_background_ratio = 1

# The value 40 is a percentage of total system memory, the number of pages at which a process
# which is generating disk writes will itself start writing out dirty data. This is nothing
# but the ratio at which dirty pages created by application disk writes will be flushed out
# to disk. A value of 40 mean that data will be written into system memory until the file 
# system cache has a size of 40% of the server's RAM. So if you've 12GB ram, data will be
# written into system memory until the file system cache has a size of 4.8G. You change the
# dirty ratio as follows:
vm.dirty_ratio = 1

Затем сделайте sysctl -p для перезагрузки, снова сбросьте кэши (echo 3 > /proc/sys/vm/drop_caches).

.
0
ответ дан 3 December 2019 в 08:12

Теги

Похожие вопросы