Swar config settings help!

Hey plotters! I have the following rig.

  • i9-10900 (10c/20t)
  • 64GB G.SKILL Ripjaws V Series 64GB (4x16GB) DDR4 3200MHz
  • MSI MPG Z490 GAMING EDGE WIFI ATX Gaming Motherboard
  • 1x Water Panther 3.84TB 3D TLC PCIe 3.0 x4 NVMe U.2 SSD (Plotting SSD)
  • 1 x 6TB Internal HDD (farmer)
  • 2 x 12TB External HDD (farmer)
  • 2 x 10TB External HDD (farmer)

I used to plot using GUI exclusively and ran across swar plot manager which could automate and optimize the number of plots I can do per day.

I am fairly new and I haven’t ever messed around with code/config files in the past. I was wondering if you guys could help me configure the swar config file to make it efficient and get the most out of my system.

As it stands, I can do 10 plots in parallel (9 if i leave some system overhead) at a time considering 2 threads per plot.

How should I be setting the config file for this to get more plots and to make it efficient.

Here’s a draft that I was playing with.

name: PlottingJob (Question - can this be whatever name?)
    max_plots: 999
    temporary_directory: 3.84TB SSD (Destination of the plotting SSD)
    destination_directory: Destination of Farming HDD (Question - how do I set this parameter up so it writes to two different HDDs?)
    size: 32
    bitfield: true
    threads: 2
    buckets: 128
    memory_buffer: 3500
    max_concurrent: 9 (Question - this should be 9 or 10 right?)
    max_concurrent_with_start_early: (Question - Not sure what I should enter for this parameter?)
    initial_delay_minutes: 0
    stagger_minutes: 60 (Question - is 60 a good stagger number to begin with?)
    max_for_phase_1: (Question - Not sure what I should enter here, its basically how many plots should be in Phase 1 at any given time right? What should be the number here?)
    concurrency_start_early_phase: 4 (Question - Not sure what I should enter here?)
    concurrency_start_early_phase_delay: 0 (Question - Not sure what I should enter here?)
    temporary2_destination_sync: false
    exclude_final_directory: false
    skip_full_destinations: true (Question - how will it know which HDD should be filled next? Where do I set that parameter?)
    unix_process_priority: 10 (Question - Not sure what I should enter here?)
    windows_process_priority: 32 (Question - Not sure if I should change this?)
    enable_cpu_affinity: false (Question - Not sure what this is)
    cpu_affinity: [ 0, 1, 2, 3, 4, 5 ] (Question - Not sure what this means)

I would really appreciate some help setting this up! Thanks :slight_smile:

1 Like

Okay so the roughly ideal ratio is roughly 4TB temp high speed space to 32 threads to 64gb of ram.

So here you are CPU limited, as you only have 20 threads. You want to maximize parallel plots. Overall plot time does not matter, as long as your stagger is kicking off right. As a rough guess for a 8 core 16 thread CPU I’d say you could do 10 in parallel without problem. So as you have more threads (4 more), I’d say you can do 12 or 14. I’d honestly do 14. You also have tons of ram to spare. So here’s what settings I would do:

name: PlottingJob
max_plots: 999 
temporary_directory: D:/Plots (3.84TB SSD temp)
destination_directory: (these are all the destination and it will cycle through)
      - F:\Plots
      - G:\Plots
      - H:\Plots
      - I:\Plots
size: 32
bitfield: true
threads: **4** (could also try upping this to 6 and seeing how you do)
buckets: 128 (and try 64 here and see what results you get. Good for people with more memory like you!)
memory_buffer: **7000** (no downside here, and 7000 needed for 64 sized bucket)
max_concurrent: 12
max_concurrent_with_start_early: 14 (should only be doing 14 for a little bit, when plots are in stage 4 and 5)
initial_delay_minutes: 0
stagger_minutes: 50 (over time the max plots going in parallel will make this obvious... 50 is fine for this setup. Most likely will end up being 80 naturally when limited to 12/14)
max_for_phase_1: 6 (would up to 8 to see how things look, but recommend 6 for you)
concurrency_start_early_phase: 4 
concurrency_start_early_phase_delay: 0 
temporary2_destination_sync: false
exclude_final_directory: false
skip_full_destinations: true (making this true is smart, prevents starting a job writing to a full drive)
unix_process_priority: 10 (leave default)
windows_process_priority: 32 (leave default)
enable_cpu_affinity: false (leave default)
cpu_affinity: [ 0, 1, 2, 3, 4, 5 ] (leave default)
1 Like

Thanks SO SO much for your help! I will use these settings and see how far this gets me. I have a quick follow up question @leadfarmer, what should I set the global parameters as? does the below parameters look good?

max_concurrent: 12 
max_for_phase_1: 6
minimum_minutes_between_jobs: 5 (should this be 5 or longer?)

I understand that we are already setting up max_concurrent and max_for_phase_1 in the our Job but since this is global, should I set it here as well?

1 Like

For the globals? Make the following changes:

max_concurrent: 14
max_for_phase_1: 6
minimum_minutes_between_jobs: 5 (You are plotting to at least 4 different hard drives, the slowdown will be if you are going to one at the same time. Therefore this being 0 would be fine. But 5 is what I would leave it at just in case. Not a lot of performance impact here, just timing. This setting is literally for those who plot to a single (destination) drive.)

1 Like

i got a a similar build, except the cpu(i9 10850)
my setup on swar -

the outcome with this setup is like 2.4t/day, looking for a better setup for this build

1 Like

Thank you again @leadfarmer, one final question. It might be a dumb question though, for the parameter destination_directory, I can press enter after destination_directory: and then type - Drive1, enter - Drive2 and so on, correct? Example below


  • F:\Plots
  • G:\Plots
  • H:\Plots
  • I:\Plots
    size: 32

My apologies, just want to make sure the syntax is correct :slight_smile:

An example of the syntax is available here on line 214:

Add as many drives as you need there. Spacing matters, so be aware. In your example, F, G, H, and I are all separate drives or locations. SWAR alternates between them. You can go down to 1, and up to however many drives you have.

1 Like

Perfect, will keep that in mind! Once again, really really appreciate the help. Thank you SO MUCH! <3

I am going to start the manager now :slight_smile:

Fingers crossed!

Only other advice I would have is you can have multiple jobs going at once. Might make it easier to test settings and keep the hard drives separated.

Recommend you increase to 4 threads and see how performance is then.

So basically, PlottingJob1 for 1 farmer HDD, PlottingJob2 for 2nd farmer, and so on? With each of those jobs having threads:4 correct?

Yes, but remember, if you split into two jobs, split all the max parallel plots by 1/2. So we said 12 max, 14 max with start early for 1 job. For 2 jobs it would be 6/7 for each, respectively.

Got it, will do that! :slight_smile:

I can also keep the chia GUI open in the background and it shouldn’t affect anything right?

Leave the GUI closed if this is just a plotting machine. If you are using SWAR and you need to run the harvester and the farmer, do so from command line.

For my plotters, GUI is closed, harvester running from command line. Different computer used for farming.

This is strictly a plotting machine, I already have my previous plots farming (that I plotted using GUI before discovering swar), so I should run the harvester and the farmer. How do I run those from the command line? I am sorry, I’ve never used the command line before.

Also, please tell me how can I buy you a beer for your help @leadfarmer

any suggestion on stagger and max in phase 1 with 4 threads?

Max phase 1 I’d so 6 for 24 hours, then try 8. I suspect something like 7 would be fine too. You have to test.

cd to the directory with the Chia.exe (C:\Users\xxxxxxx\AppData\Local\chia-blockchain\app-1.1.6\resources\app.asar.unpacked\daemon\chia.exe)

Then run

chia start harvester -r

Done! make sure to config the plotter to know where the farmer is. More info here: