Распаковка огромного файла останавливает сервер


1

Я хочу извлечь огромный файл .tar.gz, но когда я его извлекаю, он останавливает сервер. Сервер тяжело пишет, и извлечение, кажется, душит диск. Есть ли хороший способ извлечь, не останавливая мир? Я пробовал команды 'nice' и 'cpulimit', но они, похоже, не справляются.


Запустите du -hфайл - каков его размер?
new123456

Ответы:


2

Где вы узкое место: IO или процессор?

Вы уже пробовали ionice? -c3(только в режиме ожидания) или -n7(самый низкий приоритет) должны делать эту работу.

Вы пытаетесь извлечь из него один файл или просто распаковываете его целиком?


Распаковка полная вещь. Это много файлов.
ForeverConfused

Если у вас много оперативной памяти, которую вы не используете, вы можете сначала попытаться распаковать ее там. Но если тарбол действительно огромный, это не подойдет. Итак, я думаю, что мы вернулись к основам «каково ваше узкое место?» когда вы запускаете top, ваши программы gunzip / tar находятся в состоянии R или D? Что vmstat, iostat -x, iotopговорят?
Марчин

2

Применить ioniceк процессу распаковки. Это может значительно замедлить распаковку, но вы должны быть в состоянии устранить зависание других программ.

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.