Mac sense memòria: servidors dev zombies esgoten el teu RAM

El teu Mac mostra 'sense memòria d'aplicació'? Descobreix com servidors retorns s'amaguen i com netejar-los sense danyar les teves eines. Aprèn a evitar

sábado, 18 de julio de 2026 • 5 min de lectura • Equip Q2BSTUDIO

Evita que servidors retornin la teva memòria RAM

Si ets desenvolupador i treballes amb macOS, probablement hagis experimentat aquesta sensació de frustració quan, sense previ avís, el sistema et mostra un missatge de memòria insuficient. Has tancat totes les aplicacions visibles, però el problema persisteix. El que passa no és una fallada de maquinari ni una fuga de memòria de les apps que fas servir a diari: és una legió de processos fantasma que s'amaguen en els racons del teu sistema. Aquests servidors de desenvolupament zombies, oblidats després de tancar una terminal sense matar el procés correctament, continuen consumint RAM i bici fins que el kernel es veu obligat a demanar clemència.

El fenomen és més habitual del que sembla. Quan aixeques un servidor local amb next dev, vite, webpack o qualsevol altre entorn, es crea un procés pare que al seu torn llança processos fill. Si tanques la pestanya de la terminal sense enviar el senyal d'interrupció (Ctrl+C), el procés pare mor, però els fills —els que realment mantenen el port obert i la memòria ocupada— poden quedar orfes. Amb el pas dels dies, aquests processos s'acumulen. Un servidor que amb prou feines fa servir 200 MB de RAM es converteix en una càrrega de diversos gigabytes quan es replica una dotzena de vegades. I el problema és silenciós: les eines de monitoratge solen mostrar un percentatge de memòria lliure enganyosament alt, mentre el PSARU s'omple i la pressió del kernel es dispara.

La solució típica, killall node, és en realitat una drecera perillosa. Mata indiscriminadament tots els processos que continguin 'node' en el seu nom. Això inclou el servidor de llenguatges del teu editor, el motor d'intel·ligència artificial local, el client de la teva base de dades gràfica i qualsevol altre servei basat en Node.js que estiguis fent servir legítimament. És com fer servir una bazuca per matar una mosca: acabes amb la plaga, però també amb mitja casa. El correcte és aturar cada procés pel seu identificador únic (PID), verificant abans que es tracta d'un servidor abandonat i no d'una eina activa.

Per identificar un procés zombie de forma segura, necessites respondre diverses preguntes: ¿està orfe (sense pare)?, ¿escolta en un port?, ¿té connexions actives? Si no hi ha connexions, el port està obert i el procés no té un pare legítim, és probable que sigui un candidat a eliminar. Però fins i tot llavors, cal excloure processos del sistema, launchd i serveis que l'usuari hagi instal·lat intencionadament com a agents d'inici. Una neteja automàtica mal dissenyada pot reiniciar un bucle infinit de resurrecció si el sistema operatiu el recolza.

En entorns professionals, on es treballa amb múltiples projectes i equips, aquest tipus d'infraestructura invisible es converteix en un llast. No només consumeix recursos, sinó que alenteix el desenvolupament i augmenta la probabilitat de conflictes de ports. Per això, en Q2BSTUDIO entenem que l' eficiència tècnica comença per tenir un entorn de treball net i predictible. La nostra experiència ens ha portat a desenvolupar metodologies i eines que eviten aquestes fuites, i a recomanar pràctiques com l'ús de gestors de processos (pm2, supervisor) o scripts de neteja programats que respectin la jerarquia de processos.

A més, en el context d ' aplicacions a mida, cada projecte té les seves pròpies necessitats d' infraestructura. Un servidor de desenvolupament que es queda penjat no és només una molèstia: pot interferir amb el pipeline de CI/CD, amb les proves automatitzades i fins i tot amb els serveis d'intel·ligència artificial que s'executen localment per accelerar l'entrenament de models. Per això, implementem solucions que integren agents IA per monitorar l'estat dels processos i alliberar recursos de forma intel·ligent, evitant que un zombie interfereixi amb el treball de l'equip.

El problema dels servidors zombies és un símptoma d'una cosa més profunda: la falta de visibilitat sobre el que realment consumeix recursos a la teva màquina. Les eines de sistema mostren un percentatge de memòria lliure, però aquest indicador no reflecteix la pressió real sobre el kernel. El que importa és el nivell de memory pressure i l' espai disponible al PSARU. Si bases la teva decisió de neteja en el percentatge de RAM lliure, actuaràs massa tard, just quan el sistema ja està a la vora del col·lapse. En canvi, si monitoritzes la pressió del kernel i l'ús de PSARU, podràs anticipar-te i netejar els processos zombies abans que aparegui el temut missatge.

En Q2BSTUDIO apliquem aquest enfocament en els nostres propis entorns i en els dels nostres clients. Combinem serveis cloud AWS i Azure amb scripts d'automatització que detecten processos orfes i els eliminen de manera segura, protegint sempre els serveis essencials com els servidors de llenguatge dels editors o els models d'intel·ligència artificial per a empreses. A més, integrem dashboards de serveis intel·ligència de negoci amb Power BI per visualitzar en temps real la salut dels entorns de desenvolupament, permetent als equips prendre decisions informades.

La ciberseguretat també juga un paper aquí. Un procés zombie que roman obert en un port és una porta d'entrada potencial per a un atacant, especialment si el servidor exposa alguna API sense autenticació. Per això, en cada projecte de programari a mesura que emprenem en Q2BSTUDIO, incloem auditories de processos actius i recomanem bones pràctiques de kill per PID en lloc de per nom. D'aquesta manera, protegim tant el rendiment com la seguretat de la infraestructura.

Si t'has trobat en aquesta situació, el primer que has de fer aquesta nit és revisar quins processos tens corrent a la teva màquina. Obre el Monitor d'Activitat, ordena per ús de memòria i busca processos que no reconeguis, especialment aquells amb noms com node, npm, vite o webpack. Si en veus diversos, comprova els seus ports amb lsof -i i decideix si són necessaris. Si no ho són, atureu-los amb kill -15 PID, mai amb killall node. Automatitzar aquest procés amb criteris de seguretat és la clau per no perdre una tarda sencera netejant el desordre.

En Q2BSTUDIO sabem que el temps de desenvolupament és valuós. Per això, oferim consultoria i solucions personalitzades per optimitzar entorns de treball, eliminar colls d'ampolla i garantir que els recursos de la teva màquina es dediquin al que realment importa: crear productes de qualitat. Ja sigui mitjançant aplicacions a mida, agents IA o la integració de serveis cloud, el nostre objectiu és que la teva infraestructura no et freni. Si aquest problema et resulta familiar, no esperis que el popup de memòria insuficient et sorprengui de nou. Pren el control dels teus processos i de la teva productivitat.

UNA PAUSA?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.