Requisiti minimi di risorse
Ogni progetto ospitato sulla piattaforma Square Cloud ha requisiti minimi di risorse specifici per garantire prestazioni ottimali:- Bot: Minimo di 256 MB di RAM richiesti.
- Siti web: Minimo di 512 MB di RAM richiesti.
- Database cache: Minimo di 512 MB di RAM richiesti.
- Database generali: Minimo di 1 GB di RAM richiesti.
Perché esistono i minimi di RAM?
I container hanno un overhead operativo obbligatorio: runtime del linguaggio, librerie del sistema operativo e buffer di rete. Al di sotto di 256 MB, l’OOM Killer del kernel tende a terminare i processi durante il boot o la garbage collection, rendendo l’applicazione inutilizzabile. Implicazioni tecniche:- Ogni container consuma 1 IPv4 dinamico e IOPS di storage NVMe
- Le allocazioni minime prevengono la frammentazione delle risorse (effetto noisy neighbor)
- Formula degli snapshot giornalieri:
(Total RAM / 256) * 2(approssimativa; l’allocazione esatta per piano potrebbe essere inferiore sui livelli più alti)
Dati sull’impatto: Dopo aver implementato il limite minimo di 256 MB, la stabilità delle applicazioni è aumentata drasticamente, riducendo il tasso di crash dovuti a OOM (Out of Memory) del 97,7%.
Allocazione della CPU
Risposta breve: la CPU viene allocata in base alla RAM configurata. Aumentare la RAM garantisce tipicamente più vCPU.Regole
Piani a vCPU singola
Le applicazioni sui piani a 1 vCPU ricevono la piena capacità senza throttling.Piani multicore (≥2 vCPU)
- Soglia minima di prestazioni: le applicazioni con ≥512 MB di RAM ricevono almeno 2 vCPU.
- Scalabilità proporzionale:
- Hobby (≤2 vCPU): +1 vCPU per 512 MB di RAM
- Standard / Pro / Enterprise: +1 vCPU per 1 GB (1024 MB) di RAM
Esempi
Throttling e limiti di sicurezza
Il sistema applica il limite di vCPU del piano e applica un livellamento per mantenere equa la distribuzione. L’elasticità a breve termine può concedere vCPU aggiuntive durante i picchi, ma non è garantita. Usi della CPU vietati:- Mining di criptovalute
- Carichi di lavoro ML intensivi e non limitati senza autorizzazione
- Abuso deliberato delle risorse
LACK_OF_CPU.
Limiti di rete
Ogni applicazione ha banda dedicata, uguale in upload e download, che scala proporzionalmente alla RAM allocata: +50 Mbps ogni 256 MB. È riservata al tuo container, mai condivisa con i vicini, e il traffico non viene mai misurato né addebitato. Alcuni esempi:
Per carichi sostenuti ad alto traffico, il supporto può configurare un cluster dedicato.
Turbo di avvio. Ogni avvio riceve una spinta ben oltre la banda del piano: installare dipendenze, scaricare modelli o ricostruire cache è veloce, qualunque sia la tua allocazione.
I database hanno una banda dedicata propria, in entrambe le direzioni, dimensionata sulla loro RAM.
Limiti di storage
Tutti i progetti ricevono per impostazione predefinita 10 GB di storage NVMe. Caratteristiche:- NVMe di livello enterprise
- Persistente attraverso deploy e riavvii
- IOPS e throughput elevati
Stati di superamento dei limiti
Quando un’applicazione supera le sue risorse, Square Cloud la arresta, scrive nei suoi log una riga[SQUARE-SHIELD] con il motivo e ti invia un’email. Questa tabella è il riferimento a cui rimandano le altre pagine; le soluzioni sono subito sotto.
Il centro assistenza spiega le email di avviso in avvisi di inattività: blocchi di RAM, CPU e richieste.
LACK_OF_RAM
L’applicazione ha raggiunto la RAM allocata, quindi il processo è stato arrestato per proteggere l’host. Come risolvere:- Individua i memory leak con un profiler (Node.js:
--inspect, Python:memory_profiler). Vedi memory leak in Node.js. - Riduci le cache in memoria o spostale su Redis.
- Aumenta la RAM dell’applicazione nella dashboard, oppure alza
MEMORYnel file di configurazione.
LACK_OF_CPU
L’applicazione ha usato tutte le sue vCPU per un periodo prolungato, quindi il processo è stato arrestato. Come risolvere:- Profila gli hotspot della CPU (Node.js:
0x, Python:cProfile). Vedi CPU al 100%: consigli di ottimizzazione. - Ottimizza i loop critici, le query al database e le operazioni I/O-bound.
- Aumenta la RAM per ottenere più vCPU (vedi Allocazione della CPU).
- Sposta il lavoro pesante su worker asincroni o job batch.
CONTAINER_TEMPORARILY_SUSPENDED
I log hanno mostrato[SQUARE-SHIELD] ABUSE_REQUESTS: l’applicazione ha inviato richieste a Discord o a siti squareweb.app a un ritmo abusivo per un periodo prolungato. Quasi sempre si tratta di un loop infinito, di un nuovo tentativo senza attesa o di una cache mancante, non di reale popolarità. L’applicazione è stata arrestata e, finché il blocco non termina, il suo avvio fallisce con CONTAINER_TEMPORARILY_SUSPENDED.
Come risolvere:
- Leggi l’email e gli ultimi log per trovare il codice che invia le richieste.
- Metti in cache ciò che scarichi, aggiungi un’attesa tra un tentativo e l’altro e rispetta gli header di rate limit dell’API che chiami. Vedi rate limit dell’API di Discord.
- Attendi qualche istante e avvia di nuovo l’applicazione.

