Подтвердить что ты не робот

ENOSPC на устройстве не осталось места -Nodejs

Я только что создал приложение с expressJs для учреждения, где они загружают видеоуроки. Сначала видео загружали на тот же сервер, но позже я переключился на Amazon. Я имею в виду, что только видео загружаются в Amazon. Теперь я получаю эту ошибку всякий раз, когда я пытаюсь загрузить ENOSPC, на устройстве нет места. Я очистил файл tmp без толку. Мне нужно сказать, что я много раз искал эту проблему, но ни один из d-решений, похоже, не работает для меня

4b9b3361

Ответ 1

Ну в моем случае. Фактически это произошло, когда файлы были загружены на веб-службу Amazon, я не удалял файлы из папки temp. Хорошо, что каждый разработчик знает, что при загрузке файлов на сервер они сначала хранятся в папке temp перед копированием в любую папку, в которой вы хотите (я знаю, для Nodejs и php); Поэтому попробуйте удалить временную папку и посмотреть ее. И убедитесь, что метод загрузки ur обрабатывает очистку вашей временной папки сразу после каждой загрузки

Ответ 2

У меня была такая же проблема, посмотрите на выбранный ответ в Stackoverflow здесь:

Ошибка Node.JS: ENOSPC

Вот команда, которую я использовал (моя ОС: LinuxMint 18.3 Sylvia, которая является системой Linux на базе Ubuntu/Debian).

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

Ответ 3

В моем случае я получил ошибку "npm WARN tar ENOSPC: на устройстве не осталось места" во время работы nodeJS в докере, я просто использовал приведенную ниже команду для освобождения места.

sudo docker system prune -af

Ответ 4

Я получил эту ошибку, когда мой скрипт пытался создать новый файл. Может показаться, что у вас много места на диске, но если у вас есть миллионы крошечных файлов на диске, вы могли бы использовать все доступные inode. Запустите df -hi чтобы увидеть, сколько df -hi свободно.

Ответ 5

Вы можете установить новый лимит временно с помощью:

sudo sysctl fs.inotify.max_user_watches=524288

sudo sysctl -p

Если вы хотите сделать свой лимит постоянным, используйте:

echo fs.inotify.max_user_watches=524288 | sudo tee -a/etc/sysctl.conf

sudo sysctl -p

Ответ 6

Проблема была в том, что временная папка не очищалась после загрузки, поэтому все видео, которые были загружены до сих пор, все еще находились в папке temp, и память была исчерпана. Теперь папка temp была очищена, и теперь все работает нормально.

Ответ 7

Просто нужно очистить систему Docker, чтобы заняться ею. Работал на меня.

$ docker system prune