-
-
Notifications
You must be signed in to change notification settings - Fork 1k
High performance setup zh HK
้่**ไฝ่จๆถ้ซ่จญ็ฝฎ**ๆช็ถ็ธๅ๏ผๅฆๆไฝ ๆณ้ฒไธๆญฅๆ้ซ ASF ๆง่ฝ๏ผๅฐฑCPU้ๅบฆ่่จ๏ผ๏ผๅฏ่ฝๆๅขๅ ่จๆถ้ซไฝฟ็จ็ๆฝๅจๆๆฌ๏ผ่ซ้ตๅพช้ไบๆ็คบใ
็ถๆถๅๅฐๅธธ่ฆๅชๅๆ๏ผASF ๅง็ตไปฅๆง่ฝ็บๅ ๏ผๅ ๆญคๅจ้ฒไธๆญฅๆ้ซๆง่ฝๆน้ข๏ผๆจๅฏๅ็ไบๆ ไธฆไธๅค๏ผๅ็ฎกๆจไธฆ้ๅฅ็ก้ธๆใ ไฝๆฏ๏ผ่ซ่จไฝ๏ผ้ ่จญๆ ๆณไธไธๆๅ็จ้ไบ้ธ้ ๏ผ้ๆๅณ่ๅฎๅไธ่ถณไปฅๅจๅคงๅคๆธ็จๆณไธญไฟ่ญๅฎๅ็ๅนณ่กก๏ผๅ ๆญคๆจๆ่ฉฒ่ชๅทฑๆฑบๅฎๆฏๅฆๅฏไปฅๆฅๅๅ็จๅฎๅๅธถไพ็่จๆถ้ซๅขๅ ใ
ไปฅไธๆๅทงๆถๅๅด้็่จๆถ้ซๅขๅ ๏ผๆ่ฌนๆ ไฝฟ็จใ
ArchiSteamFarm.runtimeconfig.json
ๅ
่จฑๆจ่ชฟๆด ASF ้่กๆ๏ผ็นๅฅๆฏๅจไผบๆๅจ GC ๅๅทฅไฝ็ซ GC ไน้ๅๆใ
ๅๅพๆถ้ๅจๆฏ่ช่ชฟๆด็๏ผๅฏไปฅๅจๅ็จฎๆ ๆณไธๅทฅไฝใ ๆจๅฏไปฅไฝฟ็จ่จญๅฎๆชๆ นๆๅทฅไฝ่ฒ ่ท็็นๅพต่จญ็ฝฎๅๅพๅๆถ็้กๅใ CLR ๆไพไปฅไธ้กๅ็ๅๅพๅๆถ๏ผ โโๅทฅไฝ็ซๅๅพๅๆถ๏ผ้ฉ็จไบๆๆ็จๆถ็ซฏๅทฅไฝ็ซๅ็จ็ซ PCใ ้ๆฏ้่กๆ้ ็ฝฎๆถๆงไธญ
<gcServer>
ๅ ็ด ็้ป่ช่จญ็ฝฎใ โโไผบๆๅจๅๅพๅๆถ๏ผ้ฉ็จไบ้่ฆ้ซๅๅ้ๅๅฏไผธ็ธฎๆง็ไผบๆๅจๆ็จ็จๅผใ ไผบๆๅจๅๅพๅๆถๅฏไปฅๆฏ้ไธฆ็ผๆนๅผ็๏ผไนๅฏไปฅๅจๅพๅฐ้่กใ
ๅฏๅจ**ๅๅพๆถ้ๆฆ่ฆ**ไธญไบ่งฃๆดๅคใ
ASF is using workstation garbage collection by default. This is mainly because of a good balance between memory usage and performance, which is more than enough for just a few bots, as usually a single concurrent background GC thread is fast enough to handle entire memory allocated by ASF.
However, today we have a lot of CPU cores that ASF can greatly benefit from, by having a dedicated GC thread per each CPU vCore that is available. This can greatly improve the performance during heavy ASF tasks such as parsing badge pages or the inventory, since every CPU vCore can help, as opposed to just 2 (main and GC). Server GC is recommended for machines with 3 CPU vCores and more, workstation GC is automatically forced if your machine has just 1 CPU vCore, and if you have exactly 2 then you can consider trying both (results may vary).
You can enable server GC by switching System.GC.Server
property of ArchiSteamFarm.runtimeconfig.json
from false
to true
. Keep in mind that you might need to do it more than once, as ASF will still use false
by default after auto-update.
Server GC itself does not result in a very huge memory increase by just being active, but it has much bigger generation sizes, and therefore is far more lazy when it comes to giving memory back to OS. You might find yourself in a sweet spot where server GC increases performance significantly and you'd like to keep using it, but at the same time you can't afford that huge memory increase that comes out of using it. Luckily for you, there is a "best of both worlds" setting, by using server GC with GC latency level set to 0
, which will still enable server GC, but limit generation sizes and focus more on memory.
However, if memory is not a problem for you (as GC still takes into account your available memory and tweaks itself), it's much better to not change GCLatencyLevel
at all, achieving superior performance in result.
- Ensure that you're using default value of
OptimizationMode
which isMaxPerformance
. This is by far the most important setting, as usingMinMemoryUsage
value has dramatic effects on performance. - Enable server GC by switching
System.GC.Server
property ofArchiSteamFarm.runtimeconfig.json
fromfalse
totrue
. This will enable server GC which can be immediately seen as being active by memory increase compared to workstation GC. - If you can't afford that much memory increase, consider using
GCLatencyLevel
of0
to achieve "the best of both worlds". However, if your memory can afford it, then it's better to keep it at default - server GC already tweaks itself during runtime and is smart enough to use less memory when your OS will truly need it.
If you've enabled server GC and kept GCLatencyLevel
at default setting, then you have superior ASF performance that should be blazing fast even with hundreds or thousands of enabled bots. CPU should not be a bottleneck anymore, as ASF is able to use your entire CPU power when needed, cutting required time to bare minimum.
- ๐ก Home
- ๐ง Configuration
- ๐ฌ FAQ
- โ๏ธ Setting up (start here)
- ๐ฅ ๅพๅฐๅบ่ๅๅๅจ
- ๐ข Commands
- ๐ ๏ธ Compatibility
- ๐งฉ ItemsMatcherPlugin
- ๐ Management
- โฑ๏ธ Performance
- ๐ก Remote communication
- ๐ช Steam ่ฆชๅๅไบซ
- ๐ Trading