Skip to content

Low memory setup no NO

ArchiBot edited this page Jul 8, 2025 · 14 revisions

Lavt-minne oppsett

Dette er eksakt motsatt av hΓΈy-ytelsesoppsett og vil vanligvis fΓΈlge disse tipsene hvis du ΓΈnsker Γ₯ redusere den ASFs minnebruk, for kostnader til reduksjon av samlet ytelse.


ASF er ekstremt lettvint pΓ₯ ressurser til definisjon, avhengig av bruken din 128 MB VPS med Linux kan kjΓΈre den, Selv om det gΓ₯r sΓ₯ er lavt er ikke anbefalt og kan fΓΈre til ulike problemer. Selv om det er lys, er ASF ikke redd for Γ₯ be OS om mer minne, hvis slik minne trengs for at ASF skal kunne operere med optimal hastighet.

ASF som en sΓΈknad forsΓΈker Γ₯ bli mest mulig optimalisert og effektiv som ogsΓ₯ tar i betraktning at ressurser blir brukt under utfΓΈrelse. NΓ₯r det gjelder minne, setter ASF seg bedre ut over minnebruk, noe som kan gi midlertidige minnebruk som f.eks. fΓΈles oppmerksom pΓ₯ sykler. med kontoer med 3+ merkesider, ettersom ASF vil hente og analysere fΓΈrste side, lese fra det totale antall sider, start deretter henting av oppgave for hver ekstra side, som resulterer i samtidig henting og analyse av gjenvΓ¦rende sider. At "ekstra" minnebruk (sammenlignet med bare et minimum ved operasjon) kan medfΓΈre en dramatisk hastighet pΓ₯ utfΓΈrelsen og den totale ytelsen. for prisen pΓ₯ ΓΈkt minnebruk som krever for Γ₯ gjΓΈre alle ting parallelt. Tilsvarende skjer det med alle andre generelle ASF-oppgaver som kan drives parallelt, f.eks. med tolkning av aktive handelstilbud, ASF kan analysere alle disse samtidig, da de er alle uavhengige av hverandre. PΓ₯ toppen av dette vil ASF (C# kjΓΈretid) ikke returnere ubrukt minne tilbake til OS umiddelbart etterpΓ₯, som raskt kan legge merke til i form av ASF-prosess tar bare mer og mer hukommelse, men (alest) gir aldri det minne tilbake til OS. Det kan vΓ¦re noe personer som allerede er krevende, kanskje mistenker en hukommelseslekkasje, men ikke bekymre deg, alt er Γ₯ forvente.

ASF er svΓ¦rt godt optimalisert, og utnytter sΓ₯ mye som mulig. HΓΈyt minnebruk av ASF betyr ikke at ASF aktivt bruker som minne og trenger det. SvΓ¦rt ofte vil ASF beholde tildelt minne som "rom" til fremtidige handlinger. fordi vi kan ΓΈke ytelsen drastisk hvis vi ikke trenger Γ₯ be OS om hver minnedel som vi er i ferd med Γ₯ bruke. The runtime should automatically release unused ASF memory back to OS when OS will truly need it. Unused memory is wasted memory. NΓ₯r minnet om trenger er mer enn minnet som er tilgjengelig for deg, ikke nΓ₯r ASF holder noen ekstra allokert med tanke pΓ₯ fremskynding funksjoner som vil utfΓΈre i et ΓΈyeblikk. Du lΓΈper til problemer nΓ₯r Linux-kjernen din dreper ASF-prosessen pΓ₯ grunn av OOM (ute av minnet), ikke nΓ₯r du ser ASF-prosess som toppminneforbruker i pΓ₯ toppen.

Garbage samling -prosessen brukt i ASF er en svΓ¦rt kompleks mekanisme. smart nok til Γ₯ ta hensyn til ikke selv ASF, men ogsΓ₯ til OS og andre prosesser. NΓ₯r du har mye fri hukommelse, vil ASF be om alt som trengs for Γ₯ forbedre prestasjonen. Dette kan vΓ¦re til og med 1 GB (med server GC). NΓ₯r OS-minnet er nΓ¦r full, vil ASF automatisk sende noe av det tilbake til OS for Γ₯ hjelpe ting Γ₯ gjΓΈre opp. noe som kan gi totalt sett ASF-minneforbruk sΓ₯ lavt som 50 MB. Forskjellen mellom 50 MB og 1 GB er stor, men sΓ₯ er forskjellen mellom liten 512 MB VPS og stor dedikert server med 32 GB. Hvis ASF kan garantere at dette minnet vil vΓ¦re nyttig, og samtidig at ingenting annet krever det akkurat nΓ₯, Ønsker Γ₯ holde det og automatisk optimalisere seg basert pΓ₯ rutiner som tidligere ble utfΓΈrt. GC som brukes i ASF er selvstyrende, og vil gi bedre resultater nΓ₯r prosessen gΓ₯r lenger.

Derfor varierer ASF-prosessminne fra oppsett til installasjon, og derfor varierer det. siden ASF vil gjΓΈre sitt beste for Γ₯ bruke tilgjengelige ressurser i sΓ₯ effektiv som mulig, og ikke pΓ₯ en fast mΓ₯te som det ble gjort under Windows XP-tider. Selve (virkelig) minnebruk som ASF bruker kan verifiseres med stats kommando, og er vanligvis rundt 4 MB for bare noen fΓ₯ bots, opptil 30 MB hvis du bruker ting som IPC og andre avanserte funksjoner. Husk at minnet returnert av statistikk -kommandoen ogsΓ₯ inkluderer gratis minne som ikke er gjenvunnet av sΓΈppelpost enda. Alt annet er delt runtidsminne (rundt 40-50 MB) og rom for gjennomfΓΈring (variert). Dette er ogsΓ₯ grunnen til at samme ASF kan bruke sΓ₯ lite som 50 MB i et lavminnebasert VPS-miljΓΈ. mens du bruker opptil 1 GB pΓ₯ skrivebordet ditt. ASF tilpasser seg aktivt ditt miljΓΈ og vil forsΓΈke Γ₯ finne optimal balanse for verken Γ₯ sette OS under press, begrense eller begrense egen ytelse nΓ₯r du har mye ubrukt hukommelse som kan bli tatt i bruk.


Selvsagt det er mange mΓ₯ter du kan hjelpe til med Γ₯ peke ASF pΓ₯ riktig retning pΓ₯ i forhold til det du forventer Γ₯ bruke. Generelt hvis du ikke trenger Γ₯ gjΓΈre det, det er best Γ₯ la sΓΈppeltΓΈnstrere arbeide i fred, og gjΓΈre det som kjennes best. Men dette er ikke alltid mulig, for eksempel hvis din Linux-server ogsΓ₯ er vert for flere nettsteder, MySQL database og PHP arbeidstakere, sΓ₯ kan du ikke virkelig ha rΓ₯d til ASF og krympe seg selv nΓ₯r du kjΓΈrer nΓ¦r OOM, da det vanligvis er for sent og ytelsesforringelse kommer raskere. Dette er vanligvis nΓ₯r du vil vΓ¦re interessert i Γ₯ styre seg videre, og dermed lese denne siden.

Under er forslag delt inn i noen fΓ₯ kategorier, med varierte vanskeligheter.


ASF oppsett (lett)

Under triks pΓ₯virker ikke ytelsen negativt og kan brukes trygt pΓ₯ alle oppsett.

  • KjΓΈr generisk versjon av ASF hvis mulig. Generisk versjon av ASF bruker mindre minne siden den ikke inneholder innebygd kjΓΈretid, ikke kommer som Γ©n fil, ikke trenger Γ₯ pakke ut pΓ₯ rad, og er derfor mindre og har mindre hukommelse. OS-spesifikke pakker er praktiske og mulige, men de samles ogsΓ₯ med alt som trengs for Γ₯ lansere ASF, som du kan ta vare pΓ₯ deg selv og bruke generisk ASF-variant i stedet.
  • KjΓΈr aldri mer enn Γ©n ASF-instans. ASF er ment Γ₯ hΓ₯ndtere ubegrenset antall bots alt til Γ©n gang, og med mindre du binder hver ASF-forekomst til forskjellig grensesnitt/IP-adresse, du mΓ₯ ha nΓΈyaktig en ASF-prosess med flere bots (hvis nΓΈdvendig).
  • GjΓΈr bruk av ShutdownOnFarmingFinished i bot's FarmingPreferences. Active bot bruker mer ressurser enn deaktivert. Det er ikke en vesentlig sparing ettersom tilstanden til boten fortsatt mΓ₯ sitte der. men du sparer litt ressurser spesielt alle ressurser relatert til nettverk, slik som TCP-kontakter. Du kan alltid ta med andre bots hvis nΓΈdvendig.
  • Hold botten nummeret lavt. Not Enabled bot instance takes less resources, as ASF doesn't bother starting it. Also keep in mind that ASF has to create a bot for each of your configs, therefore if you don't need to start given bot and you want to save some extra memory, you can temporarily rename Bot.json to e.g. Bot.json.bak in order to avoid creating state for your disabled bot instance in ASF. This way you won't be able to start it without renaming it back, but ASF also won't bother keeping state of this bot in memory, leaving room for other things (very small save, in 99.9% cases you shouldn't bother with it, just keep your bots with Enabled of false).
  • FullfΓΈr konfigurasjonene dine. Spesielt global ASF config har mange variabler Γ₯ justere, for eksempel ved Γ₯ ΓΈke LoginLimiterDelay vil du ta med din bots tregere, som vil tillate allerede startet forekomst Γ₯ hente distinksjoner i mellomtiden, i motsetning til Γ₯ fΓ₯ opp boten din raskere, som vil ta mer ressurser nΓ₯r flere botter vil gjΓΈre stΓΈrre arbeid (slik som parkeringsdistinksjoner) samtidig. Den mindre jobben som mΓ₯ gjΓΈres samtidig - det blir brukt mindre minne.

Det er et par ting du kan ha i tankene nΓ₯r du hΓ₯ndterer minnebruken. De tingene har imidlertid ikke noen "korsorial" rolle pΓ₯ hukommelsesbruk, fordi minnebruk hovedsakelig kommer fra ting ASF mΓ₯ forholde seg til, og ikke fra intern struktur som brukes pΓ₯ kortparkering.

De mest ressurskrevende funksjonene er:

  • Merke side analysering
  • Tolkning av inventar

Hvilken betyr at minne vil samle mest nΓ₯r ASF arbeider med Γ₯ lese distinksjoner, og nΓ₯r det har Γ₯ gjΓΈre med inventaret (e. e. . sende handel eller arbeid med STM). Dette fordi ASF mΓ₯ hΓ₯ndtere virkelig store mengder data - minnebruken av favoritt-nettleseren din som Γ₯pner disse to sidene vil ikke vΓ¦re lavere enn det. Beklager, det er slik det fungerer - reduser antall distinksjoner, og behold antall av inventaret ditt lavt, sΓ₯ kan du fΓ₯ hjelp.


Runtime tuning (avansert)

Under triksene involverer ytelsesnedbrytning og bΓΈr brukes med forsiktighet.

Anbefalt mΓ₯te Γ₯ bruke disse innstillingene pΓ₯ er gjennom DOTNET_ miljΓΈegenskaper. Du kan selvsagt ogsΓ₯ bruke andre metoder, f.eks. runtimeconfig. sΓΈnn, men noen innstillinger kan ikke velges pΓ₯ denne mΓ₯ten. og oppΓ₯ den ASF vil erstatte din egendefinerte runtimeconfig. sΓΈnn med egen oppdatering som kan, derfor anbefaler vi miljΓΈegenskaper som du enkelt kan sette fΓΈr prosessen starter.

.NET kjΓΈretid tillater deg til Γ₯ justere sΓΈppelpost pΓ₯ mange mΓ₯ter effektiv finstyring av GC-prosessen i henhold til dine behov. Vi har dokumentert under egenskaper som er spesielt viktige etter vΓ₯r vurdering.

Spesifiserer tillatt GC-haug-bruk som en prosentandel av det fysiske minnet.

"hard" minne grense for ASF-prosess, denne innstillingen retter GC til Γ₯ bare bruke en undergruppe av totalt minne og ikke alt. Det kan bli spesielt nyttig i ulike serverlignende situasjoner der du kan dedikere en fast prosentandel av serverens minne for ASF, men aldri mer enn det. VΓ¦r oppmerksom pΓ₯ at begrensende minne for ASF som skal brukes, ikke vil pΓ₯ en magisk mΓ₯te gjΓΈre alle plasser til minne igjen. NΓ₯r denne verdien er for lav, vil det derfor kunne fΓΈre til at ASF-prosessen gΓ₯r inn i minnemoduser, hvor ASF-prosessen vil bli tvunget til Γ₯ avslutte.

PΓ₯ den andre hΓ₯nden Γ₯ sette denne verdien hΓΈy nok er en perfekt mΓ₯te Γ₯ sikre at ASF aldri vil bruke mer minne enn du kan realistisk etterpΓ₯, som gir maskinen litt pusterom selv under kraftig belastning, mens programmet fremdeles gjΓΈr jobben sΓ₯ effektivt som mulig.

Konfigurerer garasjesamleren til Γ₯ holde minnet over bekostning av hyppigere garasjesamlinger og muligens lengre pausetider.

En verdi mellom 0-9 kan brukes. Jo stΓΈrre verdi, desto mer GC vil optimalisere minnet med ytelse.

Angir mengden minne som blir brukt hvorfor. GC blir mer aggressiv.

Denne innstillingen konfigurerer minnegrensen til hele OSet, som sΓ₯ ble passert, fΓ₯r GC til Γ₯ bli mer aggressiv og forsΓΈke Γ₯ hjelpe OS til Γ₯ redusere minnebruken ved Γ₯ drive mer intensiv GC-prosess og fΓΈre til at friere minne frigjΓΈres til OS. Det er en god idΓ© Γ₯ sette denne egenskapen til maksimal mengde minne (som prosentandel) som du anser som "kritisk" for hele din OS-ytelse. Standard er 90 %, og du ΓΈnsker Γ₯ beholde den innen 80–97 %, siden for lav verdi av null vil forΓ₯rsake unΓΈdvendig aggresjon fra GC og ytelsesforringelse av ingen grunn, Selv om for hΓΈy verdi vil sette unΓΈdvendig belastning pΓ₯ OSS ditt, vurderer dette Γ₯ gi ASF noe av minnet om hjelpen.

Spesifiserer GC latensnivΓ₯ som du vil optimalisere for.

Dette er udokumentert eiendom som viste seg Γ₯ fungere usedvanlig godt for ASF, ved Γ₯ begrense stΓΈrrelsen pΓ₯ GC-generasjoner og fΓΈre til at GC-generasjonene renser dem oftere og mer aggressivitet. Standard (saldo) latensnivΓ₯ er 1, men du kan bruke 0som vil takke for minnebruk.

NΓ₯r vi setter mΓ₯lingen av fellesskapet mer aggressivt for flytiden Dette brukes til Γ₯ kjΓΈre mange forekomster av serverprosesser der de vil ha sΓ₯ lite minne forbegΓ₯tt som mulig.

Dette gir liten forbedring, men kan gjΓΈre GC enda mer aggressiv nΓ₯r systemet vil ligge lavt i minnet, spesielt for ASF som bruker oppgaver som gjengebassenget i stor grad.


Du kan aktivere valgte egenskaper ved Γ₯ sette riktige miljΓΈvariabler. For eksempel, pΓ₯ Linux (skall):

# Ikke glem Γ₯ stemme de hvis du planlegger Γ₯ bruke
eksportere DOTNET_GCHeapHardLimit5%) =0x4B # 75% som hex
eksport DOTNET_GCHighMemaris =0x50 # 80% som hex

eksport DOTNETTNET_GCConserveMemory=9
eksport DOTNET_GCLatencyLevel=0
export DOTNETNET_gcTrimCommitOnMemory=1

ArchiSteamFarm # For OS-spesifikk versjon
./ArchiSteamFarm.sh # For generisk bygg

Or on Windows (powershell):

# Don't forget to tune those if you're planning to make use of them
$Env:DOTNET_GCHeapHardLimitPercent=0x4B # 75% as hex
$Env:DOTNET_GCHighMemPercent=0x50 # 80% as hex

$Env:DOTNET_GCConserveMemory=9
$Env:DOTNET_GCLatencyLevel=0
$Env:DOTNET_gcTrimCommitOnLowMemory=1

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

Spesielt GCLatencyLevel vil komme svært nyttig da vi bekreftet at kjøretiden faktisk optimaliserer kode for minne og dermed dermed kunne brukes betydelig. til og med server GC. Det er et av de beste triksene du kan bruke om du vil redusere ASF-minnebruken betydelig, samtidig som du ikke bryter ned ytelsen med OptimalisationMode.


ASF-justering (mellomlig)

Nedenfor triks involverer alvorlig ytelsesforringelse og bΓΈr brukes med forsiktighet.

  • Som en siste utvei, kan du finjustere ASF for MinMemoryUsage gjennom OptimizationMode global konfigurasjon-egenskap. Les nΓΈye dette formΓ₯l, siden dette er en alvorlig ytelsesnedbrytning for nesten ingen minnegevinster. Dette er vanligvis det siste du vil gjΓΈre, lenge etter at du har gΓ₯tt gjennom rulletidsjustering for Γ₯ forsikre deg om at du er tvunget til Γ₯ gjΓΈre dette. Med mindre vi helt kritisk for oppsettet ditt, frarΓ₯der vi Γ₯ bruke MinMemoryusage, selv i minnebegrensende omgivelser.

Anbefalt optimalisering

  • Start pΓ₯ enkle ASF-oppsetttriks bruk generisk ASF-variant og sjekk om du kanskje bare bruker ASF pΓ₯ feil mΓ₯te, som starter prosessen flere ganger for alle dine boter, eller holde alle aktive, hvis du trenger bare en eller to for Γ₯ autostarte.
  • Hvis det fortsatt ikke er nok, aktiver alle konfigurasjonsegenskapene ovenfor ved Γ₯ sette passende DOTNET_ miljΓΈvariabler. Spesielt GCLatencyLevel tilbyr betydelige kjΓΈretidsforbedringer for lite kostnader pΓ₯ ytelse.
  • Hvis selv det ikke hjalp som siste gang du aktiverer MinMemoryUsage OptimizationMode. Dette tvinger ASF til Γ₯ utfΓΈre nesten alt i synkront materiale, Γ₯ fΓ₯ den til Γ₯ fungere mye langsommere men ogsΓ₯ Γ₯ basere seg pΓ₯ gjengepoolen pΓ₯ Γ₯ balansere ting nΓ₯r det gjelder parallell gjennomfΓΈring.

Det er fysisk umulig Γ₯ redusere minnet enda lengre, Ditt ASF er allerede hardt nedbrutt nΓ₯r det gjelder fremfΓΈring, og du tar ut alle dine muligheter, bΓ₯de samtidig med klok og med klok. Vurder Γ₯ legge til ekstra minne for ASF som skal brukes, selv 128 MB vil utgjΓΈre en stor forskjell.

Clone this wiki locally