Articles
Forma
@thrig Salvează furci succesive , ceea ce ' nu ajută cu adevărat la o limită de proces.
Aveți limite stricte în contul dvs.? Ce sistemul de operare și distribuția funcționează sistemul? Rulați o mulțime de alte procese?
Da, este un mediu de producție. Există atât de multe procese care rulează pe un sistem.
find: cant fork: Nu se poate aloca memorie
On noiembrie 18, 2020 by adminVreau să șterg câte un fișier din directorul meu care conține atât de multe fișiere, așa că vreau să elimin 1 fișier la un moment dat. Doar pentru a evita prea multe citiri și a eșuat la prea multe argumente.
find ./Backup/ -name "*.csv" -maxdepth 1 -exec rm {} \; find: warning: you have specified the -maxdepth option after a non-option argument -name, but options are not positional (-maxdepth affects tests specified before it as well as those specified after it). Please specify options before other arguments. find: cannot fork: Cannot allocate memory
Nu vreau să șterg recursiv dintr-un director copil de aceea -maxdepth 1. Ai vreun ajutor și sugestie?
Comentarii
înainte de -name
. Nu ' nu uitați să testați fără -delete
mai întâi.
-exec ... '{}' \+
a find
ar putea economisi pe furculițe, deoarece acesta emulează xargs
în versiunile (moderne) ale find
. Răspuns
cannot fork
mesajul ar putea apărea atunci când zona de swap este plină. Sistemul de fișiere tmpfs
(probabil) montat pe /tmp
ar putea să nu aibă spațiul necesar nucleului pentru a crea noi procese.
Verificați dacă /tmp
are încă loc folosind df -h /tmp
. Dacă este plin, încercați mai întâi să curățați /tmp
.
Comentarii
- Swap și tmpfs nu sunt legate, cu excepția faptului că ambele sunt subseturi de memorie disponibilă. Spațiul din
/tmp
nu este necesar pentru a crea noi procese. Spațiul din memorie este, dar cantitatea este atât de mică încât eliminarea lucrurilor din/tmp
este foarte puțin probabil să facă posibilă o bifurcație. - / tmp nici măcar nu este aproape de complet.
- @Gilles, pe Solaris
/tmp
este actualtmpfs
și când este complet (+ 100%) utilizat veți primi mesajeunable to fork; not enough space
. Mesajele primite de OP suntcannot fork; unable to allocate memory
. Îmi cer scuze că am sugerat o soluție Solaris și nu am cerut mai întâi sistemul de operare. OP poate verifica valorileulimit -a
șiulimit -aH
pentru a vedea dacă există o limită de memorie care poate fi atinsă în timpul acestui proces. Merită, de asemenea, să încercăm să analizăm/etc/security/limits.conf
pentru a vedea dacă sunt stabilite anumite limite. - Am avut aceeași problemă cu mult spațiu disponibil în / tmp disponibil, dar nu este activat niciun swap. [code] swapon / dev / sdXn [/ code] a rezolvat problema.
-delete
în loc de-exec rm {} \;
ar trebui să o rezolve. În afară de asta, doar mutați div id = „72e8038d2e”>