LINUX.ORG.RU

MidnightCommander сжирает всю память при копировании

 


0

2

Третий раз пытаюсь с помощью MC скопировать большой объем файлов с места на место, и третий раз кончается оперативка и все начинает жутко тормозить. Уже расширил оперативку до 24Гб - все равно все виснет. Общий объем 40 гигов мелких файлов. Сперва идет хорошо, а потом на 25-30% начинает подвисать. Это как нибудь лечится или в МС лучше вообще не копировать? До этого сделал архив всего этого объема в tar без сжатия - пролетел без проблем.


Файловая система ext4?

anonymous
()
Ответ на: комментарий от router

лучше скажи кто копирует 40г мелких файлов с помощью mc. Наверняка пытается вытащить их с сервака, разве для этого нет более подходящего софта?

jtad
()
Ответ на: комментарий от jtad

mc вообще ни при чём, проблема в ядре, и смена приложения никак не поможет

З.Ы. на работе в rhel ни разу не сталкивался. на домашнем debian сталкивался, но 100% решения не знаю. частично помогает смена планировщика и настройка параметров дискового кэша

router ★★★★★
()
Последнее исправление: router (всего исправлений: 1)
Ответ на: комментарий от router

пресмыкающийся не сказал, что за дистр он использует. И потом зависит от того как реализованно копирование, использует ли нативные вещи ос или делает это своими алгоритмами. Разница огромная

jtad
()
Ответ на: удаленный комментарий

а ты знаешь надёжный рецепт от 12309? поделись что ли

router ★★★★★
()
Ответ на: комментарий от imul

Почему другие? Классические симптомы - при копировании большого объёма данных ( в не-серверном дистрибутиве ) дисковый кэш забивает всю память, после чего начинает тормозить даже мышка

router ★★★★★
()
Ответ на: комментарий от router

в не-серверном дистрибутиве

Какое-то переобувание началось.
Чем отличается серверный и несерверный? Наличием иксов?
Дебиан например это серверный дистрибутив, или нет?

imul ★★★★★
()
Последнее исправление: imul (всего исправлений: 1)
Ответ на: комментарий от imul

Чем отличается серверный и несерверный?

Немного разными ядрами? Разные планировщики, другие разные настройки.

akk ★★★★★
()
Ответ на: комментарий от akk

cp существует вероятно столько же сколько линукс сам, зализана до дыр потому что создана только с единственной целью. А я могу написать свой фм на жабе, например, и сделать функцию копирования ее же средствами. Я не говорю, что мс говно, но он создавался как фм

jtad
()
Последнее исправление: jtad (всего исправлений: 1)
Ответ на: комментарий от router

Какой южный мост на домашнем?
Систему тюнил как-нибудь?

imul ★★★★★
()

Сколько же отбитых дегенератов в комментах… Человек пришёл с проблемой, задал вполне конкретный вопрос в надежде получить помощь, а на него ушат помоев вылили. А потом ещё удивляемся, почему это линуксовую тусовку считают отбросами.

anonymous
()

в МС лучше вообще не копировать

Да, если файлов 1000+ лучше даже не пытаться.

tar без сжатия

Так же хороший вариант rsync, который удобен тем, что можно скорость копирования контролировать (bwlimit), чтобы линукс не умирал по 12309, особенно если копирование идёт на флешку.

anonymous
()

Третий раз пытаюсь с помощью MC скопировать большой объем файлов с места на место

"- Доктор, я когда вот так делаю, у меня вот здесь болит.

- Не делайте так."

annulen ★★★★★
()
Ответ на: комментарий от jtad

Ой да не важно: https://pic4a.ru/03/4GR.png (пару лет назад воткнул +2гб просто потому что планка появилась, а так оно и нахрен было не надо)

И никаких 12309 ни разу заметьте. Ах да — не юзаю мц нигде! Эмм... цп, сцп, рсинк и прочее, либо очень иногда в качестве издевательства — ФМ в гуе (оно ж тоже удаленно умеет, ну).

deep-purple ★★★★★
()
Ответ на: комментарий от akk

А что, cp какая-то особенная команда?

В отличие от mc она просто копирует, а не пытается считать статистику и рисовать прогрессбар. Прогрессбар хочется конечно иногда, но это очевидные потери, особенно когда файлов вагон. Так что надо делать выбор.

AS ★★★★★
()
Ответ на: комментарий от anonymous

Да, если файлов 1000+ лучше даже не пытаться.

1000 - это мелочь в общем-то. Даже 100000 не много. Это в смысле про mc. Но если «+» посчитать нулей за 5, то тогда точно стоит подумать.

AS ★★★★★
()
Ответ на: комментарий от deep-purple

Ах да — не юзаю мц нигде!

Да работает mc, работает, если тучу файлов не перекидывать за раз. В своей нише он удобнее.

AS ★★★★★
()
Ответ на: комментарий от AS

Ну да, наверное 1000 пустяк, но 10000 бывает быстрее rsync -a ~/path1 ~/path2 набрать, который раз в пять быстрее отработает

anonymous
()
Ответ на: комментарий от AS

Очевидно, что можно рисовать прогрессбар без особого влияния на скорость I/O. Нормальный асинк в линуксе, конечно недавно появился, но потоки были давно.

red75prim ★★★
()
Ответ на: комментарий от AS

В общем - я перетерпел. Было что то около 120тыс файлов, 40Гб и ~3-4 часа. Копировал с помощью ср и в результате получил ту же самую картину: по началу все идет быстро, но где то к 10Гб объема потребление памяти выростает до максимума и все опять виснет. Правда я делал без -v и не видел саму динамику копирования, но все остальное на машине висло ацки. С папки на папку переходил по 10-15 секунд. Теперь о платформе: это Centos7 с 24Гб оперативки… крутящийся на проксмоксе.

Geko
() автор топика
Ответ на: комментарий от Geko

Копировал с помощью ср и в результате получил ту же самую картину

Тогда можно помочь, установив маленькую программку nocache, и запускать: nocache cp .... По крайней мере с nocache rsync --rsync-path 'nocache rsync' потребление памяти становится пилообразным. Т.е. при копировании файла забивается кэш, при переходе к следующему происходит очистка. Но это замедляет копирование. Причём чем меньше файлы, тем сильнее. А также это будет препятствовать попыткам уменьшать фрагментацию. Так что недостатки серьёзные. Я использую только на больших файлах.

Так что лучше попробовать: Что-то странное с кэшем в Linux-дистрибутивах (комментарий)

gag ★★★★★
()
Ответ на: комментарий от jtad

cp существует вероятно столько же сколько линукс сам, зализана до дыр потому что создана только с единственной целью.

cp такая же программа, как и всякая другая. Называть её «нативной вещью ос» как-то странно. Ничего сверхъестественного она не делает. Читает блок из одного файла и записывает в другой. Читает следующий блок и записывает. Читает и записывает… Пока до конца файла не дойдёт. mc делает то же самое.

akk ★★★★★
()
Ответ на: комментарий от imul

Хорошая мантра. Да. Расскажи про дебиан. Это серверный, или нет?

Я ХЗ, что там у Демьяна. Я им не пользуюсь.

akk ★★★★★
()

MidnightCommander сжирает всю память при копировании

В Microsoft обратитесь.
Уверяю - без собеседования назначат начальником отдела по разработке TDD.

anonymous
()
Ответ на: комментарий от akk

Называть её «нативной вещью ос» как-то странно.

а как ее называть по твоему? Она написана на с, использует самые низкоуровневые функции, скомпилена для линукса. Сравни с javа например или скриптовыми интерпретаторами

jtad
()
Ответ на: комментарий от jtad

по твоему

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

Во-вторых, правильно пишется «по-твоему».

использует самые низкоуровневые функции

Это какие? Системные вызовы open(2), read(2), write(2) и close(2)? Разумеется. И (внезапно!) mc использует их же. Других-то нет.

Сравни с javа например или скриптовыми интерпретаторами

Они (внезапно!) тоже используют те же самые open(2), read(2), write(2) и close(2).

akk ★★★★★
()
Ответ на: комментарий от akk

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

началось… когда нечего сказать и душа требует продолжения банкета начинают искать ошибки и требовать уважения ))

Они (внезапно!) тоже используют те же самые open(2), read(2), write(2) и close(2).

хочешь сказать, что вм жабы и интерпретатор пистона это тоже самое, что и скомпиленный бинарник? На этом все, ВАМ всего хорошего

зы я еще раз повторюсь, что не говорил mc гумно как фм. Может и делает тоже самое что и cp

jtad
()
Последнее исправление: jtad (всего исправлений: 1)
Ответ на: комментарий от jtad

когда нечего сказать

Ну почему же нечего. По теме было сказано. Умеющий читать прочтёт.

начинают искать ошибки и требовать уважения ))

Ничего смешного не вижу. Безграмотность и невоспитанность поощрять нельзя.

хочешь сказать

Всё, что я хотел сказать, я сказал.

вм жабы и интерпретатор пистона

Если отмотать тред назад, то немедленно выяснится, что «вм жабы и интерпретатор пистона» ни к селу ни к городу приплели сюда вы. Ну и кому тут было нечего сказать?

akk ★★★★★
()
Ответ на: комментарий от jtad

Не ссорьтесь, девочки. Я уже все скопировал. =) За ноу-кеш я конечно думал, но это действительно 120 тысяч файлов, большинство из которых не превышает по размеру мегабайта. Вот кстати я упомяну, что tar сделал архив с места источника на место назначения раза в четыре быстрее. Распаковка - то же не заняла много времени, но единственное что я неосилил - это как распаковать из него нужную папку без сохранения вложенного пути. :rolleye

Geko
() автор топика
Ответ на: комментарий от Geko

rsync на кучи файлов работает быстрее, почему не знаю.

pi11 ★★★★★
()
Ответ на: комментарий от Geko

крутящийся на проксмоксе.

Это ещё и в контейнере? Ну тогда тут что угодно может быть.

AS ★★★★★
()

mc действительно тормоз в плане копирования файлов. причем что мелкие, что большие - копируются одинаково плохо. видимо это связано с использованием неэффективных алгоритмов и т.п.

Rost ★★★★★
()

Интересно, в MC есть опция «Использовать системную функцию копирования»? Потому что в аналогичных программах для Windows — Total Commander, FAR (через плагин), DOS Navigator (вроде бы) — такая опция есть и позволяет переключаться с собственного механизма на системный способ копирования файлов, когда что-то идёт не так.

iZEN ★★★★★
()
Ответ на: комментарий от Rost

mc действительно тормоз в плане копирования файлов. причем что мелкие, что большие - копируются одинаково плохо.

Нет. Когда файл именно уже копируется, копируется он с максимальной скоростью. В случае обычных ФС потери образуются только на перерасчёте оставшегося времени и отрисовке прогрессбаров. В случае необычных ФС (ftp, sh) есть ещё потеря при копировании туда (но не оттуда) в виде предварительной записи в $TMP.

AS ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.