Ошибка ENOMEM при запуске приложения Next.js на сервере общего хостинга
Вкратце: у меня возникла ошибка при попытке собрать и запустить приложение Next.js на сервере общего хостинга, на котором на тот момент было доступно более 900 МБ ОЗУ и более 70 процессов. Журнал показал, что размер RSS был 50814976, когда ошибка была обнаружена.
Я не совсем уверен, ошибка вызвана просто нехваткой памяти или она возникает из-за неправильных настроек или конфигов. Не могли бы вы дать мне несколько советов?
==========Подробности ниже============
Я создаю приложение Next.js с помощью Node.js, и оно создано с помощью специального сервера (моя точка входа: server.js). Я могу запустить свое приложение в локальной среде на локальном хосте:3000. Затем я пытаюсь развернуть его, чтобы проверить, все ли в порядке в сети.
Я подписался на план общего веб-хостинга DRIVE от A2 Hosting, который оптимизирован для поддержки среды Node.js. В плане они предлагают 1 ГБ физической памяти и 75 доступных процессов.
Мое приложение было создано с помощью функции приложения Setup Node.js в cPanel и клонировало мой проект на сервер с помощью git через SSH. Пакеты NPM также были установлены на сервер с помощью команды
Мои сценарии npm были определены для запуска пользовательского сервера. Вот скрипты npm, определенные в моем файле package.json :
"scripts": {
"dev": "node server.js"
"build": "next build",
"start": "NODE_ENV=production node server.js"
}
Затем я использовал команду
Я погуглил, что это проблема, связанная с использованием памяти. Некоторые говорят, что эта ошибка возникает из-за нехватки памяти, и обходным путем для ее обхода является локальное создание рабочей папки и ее загрузка на сервер. Поэтому я скопировал шаги.
Однако результат разочаровал, когда я запустил команду
Очистка кеша npm и переустановка модулей npm тоже не помогли.
Я попытался увеличить лимит памяти, добавив опцию
я добавил
{
rss: 50814976,
heapTotal: 34107392,
heapUsed: 23076064,
external: 1632450
}
Общий размер rss был намного меньше лимита. Или я использовал неправильный метод для проверки потребления памяти?
Как я могу решить
Я не уверен, применил ли я неверные настройки, упустил из виду некоторые важные конфигурации или неправильно написал какие-либо коды, которые вызывают эту ошибку. Я хочу понять, что происходит внизу. Импульсивное обновление плана без надлежащего понимания не очень хорошо для меня как для начинающего разработчика, и я обязан рационально использовать бюджет.
Не могли бы вы дать мне несколько советов?
Спасибо за внимание.