Длительный процесс отладки. Страс, брк

У меня есть интернет-магазин Magento, он запускает задания cron для выполнения запланированных процессов. Одним из них является импорт продукции. Он отвечает за импорт товаров и их распределение по категориям. В соответствии с состоянием sql я вижу, что эта часть была закончена. После того, как он пытается аннулировать кэш. Для кеша я пытаюсь использовать memcache на TCP или Redis на сокете. Для обоих вариантов у меня один и тот же результат. Я использую команду strace, чтобы посмотреть, что она пытается сделать.

sudo strace -e trace=all -f -d -p 10319

Вывод за последние 2 часа:

[wait(0x57f) = 10319]
pid 10319 stopped, [SIGTRAP]
brk(0x236ec000 [wait(0x57f) = 10319]
pid 10319 stopped, [SIGTRAP]
)                         = 0x236ec000
[wait(0x57f) = 10319]
pid 10319 stopped, [SIGTRAP]
brk(0x2372c000 [wait(0x57f) = 10319]
pid 10319 stopped, [SIGTRAP]
)                         = 0x2372c000
[wait(0x57f) = 10319]
pid 10319 stopped, [SIGTRAP]
brk(0x2376c000 [wait(0x57f) = 10319]
pid 10319 stopped, [SIGTRAP]
)                         = 0x2376c000

Я знаю, что brk используется для выделения памяти.

Какой еще вывод может означать? В чем может быть причина такого поведения? Есть идеи?

1

Решение

Проблема была в array_merge функция, был цикл для 270000 объектов, и все они были объединены в этом цикле, поэтому сценарий выделял такой большой объем памяти. Вместо этого я использовал ассоциативный массив, который намного быстрее.

2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector