Skip to content

High performance setup it IT

ArchiBot edited this page Jul 8, 2025 · 23 revisions

Configurazione ad alte prestazioni

Questo Γ¨ esattamente l'opposto di installazione a bassa memoria e in genere si desidera seguire questi suggerimenti se si desidera aumentare ulteriormente le prestazioni di ASF (in termini di velocitΓ  della CPU), per il costo potenziale di un maggiore utilizzo della memoria.


ASF cerca giΓ  di preferire le prestazioni quando si tratta di sintonizzazione generale equilibrata, quindi non c'Γ¨ molto che si puΓ² fare per aumentare ulteriormente le sue prestazioni, anche se non sei completamente fuori dalle opzioni. Tuttavia, tieni presente che queste opzioni non sono abilitate per impostazione predefinita, che significa che non sono abbastanza buoni da considerarli equilibrati per la maggior parte degli usi, perciΓ² deve decidere se l'aumento di memoria portato da loro Γ¨ accettabile per Lei.


Runtime tuning (avanzato)

I trucchi di seguito comportano un grave aumento della memoria e dovrebbero quindi essere utilizzati con cautela.

Il modo raccomandato per applicare queste impostazioni Γ¨ attraverso le proprietΓ  ambientali DOTNET_. Naturalmente, Γ¨ possibile utilizzare anche altri metodi, ad esempio runtimeconfig. son, ma alcune impostazioni sono impossibili da impostare in questo modo, e in cima a questo ASF sostituirΓ  il tuo custom runtimeconfig. son con la propria sul prossimo aggiornamento, quindi consigliamo le proprietΓ  ambientali che puoi impostare facilmente prima di avviare il processo.

.NET runtime consente di tweak spazzbage collector in molti modi, perfezionamento efficace del processo GC in base alle vostre esigenze. Abbiamo documentato sotto proprietΓ  che sono particolarmente importanti a nostro parere.

Configura se l'applicazione utilizza workstation spazzatura collezione o server spazzatura raccolta.

È possibile leggere l'esatto specifico del server GC a fondamentali della raccolta spazzatura.

ASF sta utilizzando la raccolta di rifiuti della workstation per impostazione predefinita. Questo Γ¨ dovuto principalmente ad un buon equilibrio tra l'utilizzo della memoria e le prestazioni, che Γ¨ piΓΉ che sufficiente per pochi bot, come di solito un singolo thread di sfondo simultaneo GC Γ¨ abbastanza veloce per gestire l'intera memoria allocata da ASF.

Tuttavia, oggi abbiamo un sacco di core della CPU di cui ASF puΓ² beneficiare molto, avendo un thread GC dedicato per ogni CPU vCore che Γ¨ disponibile. Questo puΓ² migliorare notevolmente le prestazioni durante le attivitΓ  ASF pesanti, come le pagine distintivo di analisi o l'inventario, poichΓ© ogni CPU vCore puΓ² aiutare, al contrario di appena 2 (principale e GC). Server GC Γ¨ consigliato per macchine con 3 CPU vcore e piΓΉ, workstation GC Γ¨ automaticamente forzato se la macchina ha solo 1 CPU vCore, e se avete esattamente 2 allora si puΓ² prendere in considerazione di provare entrambi (i risultati possono variare).

Server GC stesso non si traduce in un enorme aumento di memoria semplicemente essendo attivo, ma ha dimensioni di generazione molto piΓΉ grandi, e quindi Γ¨ molto piΓΉ pigro quando si tratta di ridare memoria al sistema operativo. Potresti trovarti in un punto dolce in cui il server GC aumenta significativamente le prestazioni e vorresti continuare a usarle, ma allo stesso tempo non si puΓ² permettersi quel enorme aumento di memoria che viene fuori di usarlo. Fortunatamente per te, c'Γ¨ un "migliore di entrambi i mondi" ambientazione, utilizzando il server GC con la proprietΓ  di configurazione GCLatencyLevel impostata su 0, che permetterΓ  ancora server GC, ma limitare le dimensioni della generazione e concentrarsi di piΓΉ sulla memoria. In alternativa, potresti anche sperimentare un'altra proprietΓ , GCHeapHardLimitPercent, o anche entrambi allo stesso tempo.

Tuttavia, se la memoria non Γ¨ un problema per voi (come GC tiene ancora in considerazione la memoria disponibile e tweaks stesso), Γ¨ un'idea molto migliore per non cambiare quelle proprietΓ  a tutti, raggiungendo prestazioni superiori nel risultato.


È possibile abilitare le proprietà selezionate impostando le variabili di ambiente appropriate. Ad esempio, su Linux (shell):

export DOTNET_gcServer=1

./ArchiSteamFarm # For OS-specific build
./ArchiSteamFarm.sh # For generic build

O su Windows (powershell):

$Env:DOTNET_gcServer=1

.\ArchiSteamFarm.exe # For OS-specific build
.\ArchiSteamFarm.cmd # For generic build

Ottimizzazione consigliata

  • Assicurati di utilizzare il valore predefinito di OptimizationMode che Γ¨ MaxPerformance. Questa Γ¨ di gran lunga l'impostazione piΓΉ importante, poichΓ© l'utilizzo del valore MinMemoryUsage ha effetti drammatici sulle prestazioni.
  • Abilita server GC. Server GC puΓ² essere immediatamente visto come attivo da un aumento significativo della memoria rispetto alla workstation GC. Questo genererΓ  un filo GC per ogni filettatura CPU che la tua macchina ha per eseguire operazioni GC in parallelo con la massima velocitΓ .
  • Se non puoi permetterti di aumentare la memoria a causa del server GC, considera tweaking GCLatencyLevel e/o GCHeapHardLimitPercent per ottenere "il meglio di entrambi i mondi". Tuttavia, se la vostra memoria puΓ² permetterselo, allora Γ¨ meglio mantenerlo come predefinito - il server GC si modifica giΓ  durante il runtime ed Γ¨ abbastanza intelligente da usare meno memoria quando il vostro sistema operativo ne avrΓ  veramente bisogno.

L'applicazione delle raccomandazioni di cui sopra consente di avere prestazioni di ASF superiori che dovrebbero essere brillanti velocemente anche con centinaia o migliaia di bot abilitati. La CPU non dovrebbe piΓΉ essere una strozzatura, in quanto ASF Γ¨ in grado di utilizzare tutta la potenza della CPU quando necessario, tagliando il tempo necessario al minimo indispensabile. Il passo successivo sarebbe l'aggiornamento della CPU e della RAM o la suddivisione del carico di lavoro su diversi server e istanze di ASF.

Clone this wiki locally