Это команда bup-memtest, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
bup-memtest - тестировать статистику использования памяти bup
СИНТАКСИС
bup memtest [параметры ...]
ОПИСАНИЕ
bup memtest открывает список индексов пакетов в вашем репозитории bup, затем выполняет поиск в списке
для серии несуществующих объектов - печать статистики использования памяти после каждого цикла.
Из-за того, как работают системы Unix, на выходе обычно отображается большой (и
неизменное) значение в столбце VmSize, потому что сопоставление файлов индекса в первую очередь
занимает определенное количество виртуального адресного пространства. Однако это использование виртуальной памяти
полностью виртуальный; это не занимает вашу оперативную память. Со временем буп использует части
индексы, которые необходимо загрузить с диска, что и вызывает увеличение
Столбец VmRSS.
ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
-н, --число =номер
установить количество объектов для поиска во время каждого цикла (т.е. перед печатью
строка вывода)
-с, --циклы =циклы
установить количество циклов (то есть количество строк вывода после первого). В
первая строка вывода всегда 0 (т. е. базовая линия перед поиском любого
объекты).
--игнорировать-мидкс
игнорировать любые файлы .midx, созданные bup midx. Это позволяет сравнивать память
производительность с использованием мидкса и без него.
--существующий
поиск существующих объектов вместо поиска случайных несуществующих. Этот
может сильно повлиять на использование памяти и производительность. Обратите внимание, что в большинстве случаев
bup save большую часть времени тратит на поиск несуществующих объектов, поскольку существующие
они, вероятно, находятся в неизмененных файлах, резервное копирование которых мы не будем делать.
Таким образом, поведение по умолчанию более точно отражает реальную производительность bup. Но ты
в любом случае может понадобиться этот параметр, чтобы убедиться, что вы не искали
существующие объекты намного хуже, чем раньше.
ПРИМЕРЫ
$ буп memtest -n300 -c5
PackIdxList: с использованием 1 индекса.
VmSize VmRSS VmData VmStk
0 20824 кБ 4528 кБ 1980 кБ 84 кБ
300 20828 кБ 5828 кБ 1984 кБ 84 кБ
600 20828 кБ 6844 кБ 1984 кБ 84 кБ
900 20828 кБ 7836 кБ 1984 кБ 84 кБ
1200 20828 кБ 8736 кБ 1984 кБ 84 кБ
1500 20828 кБ 9452 кБ 1984 кБ 84 кБ
$ bup memtest -n300 -c5 --ignore-midx
PackIdxList: с использованием 361 индексов.
VmSize VmRSS VmData VmStk
0 27444 кБ 6552 кБ 2516 кБ 84 кБ
300 27448 кБ 15832 кБ 2520 кБ 84 кБ
600 27448 кБ 17220 кБ 2520 кБ 84 кБ
900 27448 кБ 18012 кБ 2520 кБ 84 кБ
1200 27448 кБ 18388 кБ 2520 кБ 84 кБ
1500 27448 кБ 18556 кБ 2520 кБ 84 кБ
ОБСУЖДЕНИЕ
При оптимизации индексации bup, первая цель - поддерживать разумно низкий уровень VmRSS.
Однако в конечном итоге может потребоваться поменять местами все индексы просто потому, что
вы ищете много объектов, и это приведет к тому, что ваш RSS вырастет до
VmSize в конце концов.
Ключевое слово здесь со временем. Пока VmRSS растет достаточно медленно, количество
активность диска, вызванная доступом к индексам пакетов, достаточно мала. Если быстро разрастется,
bup, вероятно, будет тратить большую часть своего времени на подкачку данных индекса с диска вместо того, чтобы на самом деле
выполняется резервное копирование, поэтому резервное копирование будет выполняться очень медленно.
Цель bup memtest - дать вам представление о том, насколько быстро используется ваша память.
растет и помогает оптимизировать bup для лучшего использования памяти. Если у вас проблемы с памятью
вас могут попросить отправить вывод bup memtest, чтобы помочь диагностировать проблемы.
Совет: попробуйте использовать bup midx -a или bup midx -f, чтобы узнать, помогает ли это уменьшить использование памяти.
Интересный факт: использование индексной памяти в bup (или git) действительно является проблемой только при добавлении большого
количество ранее невидимых объектов. Это потому, что для каждого объекта нам нужно
абсолютно подтверждаем, что его еще нет в базе данных, что требует от нас поиска
через ВСЕ существующие индексы пакетов, чтобы гарантировать, что ни один из них не содержит объект в
вопрос. В более очевидном случае поиска объектов, которые do существуют, объекты
которые ищут, как правило, каким-то образом связаны, что означает, что они, вероятно, все существуют
в небольшом количестве файлов пакетов, поэтому использование памяти будет ограничено только этими файлами пакетов
индексов.
Поскольку пользователи git обычно не добавляют много файлов за один запуск, git на самом деле не
нужна программа типа bup midx. bup же тратит большую часть времени на резервное копирование
файлы, которые он раньше не видел, поэтому его модели использования памяти другие.
Используйте bup-memtest онлайн на сервисах onworks.net