Errore Node.JS: ENOSPC

Ho un problema con node.js e caricamento di file sul server. Per caricare i file sul server io uso questo plugin . Quando si avvia il caricamento del file sul server il processo node.js è bloccato e mostra un errore:

Errore: ENOSPC.

Il codice del server non viene eseguito.

 $ df -h Filesystem Size Used Avail Use% Mounted on /dev/xvda1 7.9G 4.1G 3.5G 55% / udev 288M 8.0K 288M 1% /dev tmpfs 119M 168K 118M 1% /run none 5.0M 0 5.0M 0% /run/lock none 296M 0 296M 0% /run/shm /dev/xvdf 9.9G 3.0G 6.5G 32% /vol overflow 1.0M 1.0M 0 100% /tmp 

Esegui il comando seguente per evitare ENOSPC:

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

Per Arch Linux aggiungere questa riga a /etc/sysctl.d/99-sysctl.conf :

 fs.inotify.max_user_watches=524288 

Quindi eseguire:

 sysctl --system 

Questo persisterà anche durante i riavvii.

https://github.com/guard/listen/wiki/Increasing-the-amount-of-inotify-watchers#the-technical-details

ENOSPC significa che non c’è spazio sull’unità.

Forse /tmp è pieno? È ansible configurare npm per utilizzare una cartella temporanea differente impostando npm config set tmp /path/to/some/other/dir , o magari eliminare tutto dalla cartella /tmp .

Fonte: npm 1.1.21 non può scrivere, ENOSPC nel repository di npm in github.

Nota Ho risolto il mio problema nel modo descritto nella fonte di cui sopra. Tuttavia, vedi la risposta di Murali Krishna in basso, che è più completa.

Non posso prenderne il merito, ma @grenade ha sottolineato che la npm dedupe risolverà la causa (troppi file) e non il sintomo.

Fonte: errore dell’orologio Grunt – In attesa … Errore irreversibile: guardare ENOSPC .

Il riavvio della macchina ha risolto il problema per me. Ho provato prima a cancellare /tmp/ ma il nodo si stava ancora lamentando.

Ho risolto il mio problema uccidendo tutti i processi di controllo del tracker (potresti provare se usi GDM, ovviamente non è il tuo caso se lo script è in esecuzione su un server)

 tracker-control -r 

La mia configurazione: Arch con GNOME 3

Se il tuo /tmp mount su un filesystem linux è montato come overflow (spesso dimensionato a 1MB), è probabile che tu non specifichi /tmp come propria partizione e il tuo filesystem di root riempito e /tmp sia rimontato come fallback.

Per risolvere il problema dopo aver eliminato lo spazio, basta smontare il fallback e dovrebbe rimontare al suo punto originale:

 sudo umount overflow 

Per quanto mi riguarda, ho raggiunto il numero massimo di file che un utente può possedere

Controlla i tuoi numeri con quota -s e il numero in file non è troppo vicino alla quota