Команда tar нагружает сервер

12
Vin_cent
На сайте с 22.01.2010
Offline
171
2769

Всем привет!

Возникла проблема. По крону, раз в сутки, скачивается и распаковывается не совсем большой (138мб) архив .tbz.

Так вот, когда он начинает распаковываться, этот процесс длится около 2х минут, процессор (8 cores) нагружается на 70%, mysql зависает, всё зависает и висит пока этот архив не распакуется.

Дурдом. Почитал интернет, нашёл как ограничить кол-во ресурсов, но не помогло.

Вот эта команда: "ionice -c 2 -n 7 nice -n 19 tar jxvf /tmp/archive.tbz -C /tmp"

Вопрос. Как быть? CentOS 6.4

P
На сайте с 16.03.2009
Offline
144
#1

nice -n 19 ionice -c3

так попробуйте

и fs в relatime

еще можно сделать tmpfs и распаковывать в оперативку, если данные не так важны.

N
На сайте с 06.05.2007
Offline
419
#2

Две минуты зависания потерпеть не можете ? Перенесите задачу на другое время.

ionice не дает гарантий приоритизации, хотя и помогает частично.

Нужно ограничивать скорость работы программ и их влияние на кеш. Это значительно больше больше двух минут объяснять.

Кнопка вызова админа ()
Vin_cent
На сайте с 22.01.2010
Offline
171
#3
netwind:
Две минуты зависания потерпеть не можете ? Перенесите задачу на другое время.
Есть методы, когда ionice не справляется, но на их описание придется потратить больше двух минут.

Прикол? Я бы вас уволил за 2 минуты ежедневного простоя.

---------- Добавлено 15.08.2013 в 14:16 ----------

poiuty:
nice -n 19 ionice -c3
так попробуйте
и fs в relatime

еще можно сделать tmpfs и распаковывать в оперативку, если данные не так важны.

Подскажите, пожалуйста, как через tmpfs сделать. (сам я не администратор, не всё понимаю к сожалению)

N
На сайте с 06.05.2007
Offline
419
#4

Vin_cent, нет, не прикол. У всякого "серьезного бизнеса" есть условия, с которыми он вполне может смириться.

Вам же ionice не помог. Дальше-то что?

P
На сайте с 16.03.2009
Offline
144
#5

http://linux.die.net/man/1/ionice

Options

-c class
The scheduling class. 0 for none, 1 for real time, 2 for best-effort, 3 for idle.

Надо юзать не ionice -c 2 -n 7, а ionice -c3

Vin_cent
На сайте с 22.01.2010
Offline
171
#6
netwind:
Vin_cent, нет, не прикол. У всякого "серьезного бизнеса" есть условия, с которыми он вполне может смириться.
Вам же ionice не помог. Дальше-то что?

Что дальше я ещё пока не знаю. Жду знающих людей.

---------- Добавлено 15.08.2013 в 14:21 ----------

poiuty:
http://linux.die.net/man/1/ionice

Надо юзать не ionice -c 2 -n 7, а ionice -c3

Спасибо, прям сейчас и проверю.

Проверил. Стало намного лучше. Архив распаковался меньше чем за 30сек. Нагрузки небыло. НО, как только он закончил своё дело, mysql сразу же нагрузился на 800% и спустя 10-20сек, его отпустило и нагрузка исчезла.

С чем это может быть связано? Может как-то мешать то, что в качестве

tmpdir в mysql у меня /mnt/ramdisk (tmpfs /mnt/ramdisk tmpfs rw,mode=1777,size=512M 0 0) ?

Такое ощущение, что этот tar и mysql что-то поделить не могут

P
На сайте с 16.03.2009
Offline
144
#7
Vin_cent:

Подскажите, пожалуйста, как через tmpfs сделать. (сам я не администратор, не всё понимаю к сожалению)

mkdir /tmp/tar/

В /etc/fstab пишем

tmpfs /tmp/tar/ tmpfs rw,noatime 0 0

И далее

mount /tmp/tar/
N
На сайте с 06.05.2007
Offline
419
#8
Vin_cent:
Такое ощущение, что этот tar и mysql что-то поделить не могут

Не могут поделить память. Такие операции часто "смывают" кеш диска.

Использование tmpfs может даже ухудшить ситуацию. Пробуйте.

P
На сайте с 08.03.2007
Offline
250
#9

138 мегабайт архив - это мелочь, при нормальной работе системы заметной нагрузки от распаковки быть не должно. Может быть, в самом архиве есть специфика - например миллион файлов? Скорее всего с памятью какие-то чудеса. Посмотрите вывод top во время распаковки. tmpfs использовать сомнительная идея, согласен с netwind. В общем данных мало - и сколько памяти у Вас, и какая виртуализация или физический сервер, и что такое в реальности /tmp ...может у Вас вообще битый рейд. В общем, надо тщательнЕе исследовать.

Vin_cent
На сайте с 22.01.2010
Offline
171
#10
Pilat:
138 мегабайт архив - это мелочь, при нормальной работе системы заметной нагрузки от распаковки быть не должно. Может быть, в самом архиве есть специфика - например миллион файлов? Скорее всего с памятью какие-то чудеса. Посмотрите вывод top во время распаковки. tmpfs использовать сомнительная идея, согласен с netwind. В общем данных мало - и сколько памяти у Вас, и какая виртуализация или физический сервер, и что такое в реальности /tmp ...может у Вас вообще битый рейд. В общем, надо тщательнЕе исследовать.

Согласен, архив мелкий. Там всего в нём три файла в одной папке. top показывал нагрузку %us и %sy.

Памяти 16Gb, свободно обычно около 13Gb. Виртуализация KVM. /tmp вроде обычная папка на диске. А как проверить, битый ли рейд?

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий