dikey58
@dikey58
Самоучка - web-разработчик

Как управлять памятью wsl?

У меня один скрипт на сайте сжирает уйму памяти и выкатывает ошибку 500 на любом хостинге. Для того чтобы дать возможность скрипту выполниться, я развернул локальный сервер на docker. Но там у меня появилась другая проблема.
При запуске docker загружает оперативу под завязку. Docker stats показывает что выделено 12gb памяти. При запуске скрипта Docker stats показывает что использование памяти растет и вырастает где-то до 2,5 гб и у уже браузер, а не сервер выкатывает ошибку, видимо от того что ей расти уже некуда.
Как быть?
  • Вопрос задан
  • 121 просмотр
Пригласить эксперта
Ответы на вопрос 1
скрипт на сайте сжирает уйму памяти и выкатывает ошибку 500 на любом хостинге
Очевидно, что проблема именно в приложении, а не в среде, в которой оно запущено. Скрипту (на PHP?) позарез понадобилась память. Что он делает? Правильно, просит (по-разному в разных языках) у ОС. А ОС спрашивает: сколько нужно? Столько то? На, бери. Ещё? Ну на! Ещё?
(отвечает грубо)
А ну нафиг! Зажрался, отвали!
. Что происходит, когда программе не дают память? Она падает. Но есть нюансы: в ОС как Linux есть механизм отслеживания "жручих" приложений и если какой-то негодный процесс мешает всем жить в ОС, то его нещадно "прихлопывают". Он даже пикнуть (в свой журнал событий) не успевает. И всё, собственно говоря.

Мораль: много не жрать. Следить за диетой.

Ладно, и как теперь быть?
Читать в статье. Особенно про APM


Но может быть достаточно и проверить какой конкретный экшн вызывает ошибку 500. Зная его (при наличии логирования запросов), можно получить параметры для воспроизведения ошибки.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы