Optimizing Plotters in Windows

Photo by Pixabay on Pexels.com

For some of the tinkerers and gamers out there, optimization comes with the territory. The feeling that you are squeezing every ounce of performance from a system and leaving nothing on the table is a sweet one. The same can be said for Chia Plotting. It has so many switches and knobs that its almost irresistible to figure out what each one does. To do this however, like the image above, is a lot of trial and error. You’ll bend nails and break nails with different hammering techniques. In this post, I’ll talk about each aspect of plotting and my experiences with experimenting with them.

Lets start at a high level. Chia Plotting has two markers; Total Plot Speed and Total TiB per Day. Plot Speed is more like a badge of honor that you can display. “I can pump out a plot in X seconds!…with no other plots running.” Its almost like the speed running community. The real stat you want to maximize is TiB/Day. This stat tells you how fast you can fill up that fat hard drive with plots and begin to farm them. So how do you do this? There are three main factors to TiB per day; CPU, RAM, Temp Drives. This may get lengthy, but stay with me.

Number one, CPU. The amount of threads a CPU has will determine one part of how many plots you can run in parallel. Parallel meaning, how many plotters your can run at the same time on your system. We’re talking total threads here, not cores. In the plotter settings, you can elect how many threads you want to dedicate to it. From experience, 2 threads is way faster than 1 thread. Always elect 2 if you can. With my CPU (5900x – 24 threads) I did a speed test at 2 threads and 3389 ram on an NVMe and came to 15510:

2 threads, 3389 RAM, Single NVMe, Single Plotter

I then proceeded to up the CPU threads while holding everything else constant. 4 threads was thirty minutes faster than 2 threads. 6 threads, however, was only five minutes faster than 4 threads. And in my case 8 threads and beyond was actually slower than 6 threads. There are diminishing returns past 4 threads. My theory for why 6 threads is better than 8 threads could be due to the CCXs that the 5900x has.

Some additional info, plotters work in four phases. You probably have noticed this in the plotter logs. The thread config setting only affects the first phase. Phase two, three and four are all single threaded. Your plotters can technically over subscribe the CPU and it won’t crash, it will just take longer to generate the plots. With my 5900x, I’m running 12 plotters with four threads each, kicking off 2 plotters per forty minutes until reaching 12 plotters. I put the forty minutes in there so that there is time for plotters to be well into phase 1 before the other plotters start.

Number two, RAM. This also has its hand in determining how many plots you can run in parallel but in a different sense. Something that is a bit undocumented is that RAM requirements change depending on how many threads you assign to the plotter. The default of 3389 is OK for 2 threads. If you are going to use 4 threads, I’ve found that 3408 works perfect. 6 threads? 3416. 8 threads? 3432. How can you tell if its enough RAM? Lets take a look at one of the plotter’s lines when its generating the plots in phase one:

Bucket 0 uniform sort. Ram: 3.261GiB, u_sort min: 1.125GiB, qs min: 0.281GiB.

Lets break this down:

  • Bucket 0 – This is the current bucket its working on. How many buckets it needs to work on is set in the plotter configuration settings. I have messed around with this setting by setting it to 32, 64, and 256. No difference in overall plot speed. But, changes the RAM requirements drastically. 64 buckets needs double the RAM requirement of 128 buckets. 32 buckets needs double the RAM requirement of 64 buckets. 256, however, needs half of the RAM requirement of 128. You can see the pattern here. If someone is RAM limited, I could see how going to 256 may reduce your RAM requirements. It does…but you are also doubling the I/O requests on your temp drive. Use caution here.
  • uniform sort. – This tells you what sorting method it used for the bucket. Uniform sort means that the entire bucket was able to fit into memory and the processor can work on it and put it back. There is another method, the second one is called QuickSort, or QS for short. QuickSort breaks up the data into smaller pieces so that it can fit into the allocated RAM.
    • If you see QS here, don’t be alarmed. Some of the plotting actually requires QS. Usually the last bucket and some other parts of phase 3. You will be able to know its mandatory if at the end of the line it says “force_qs: 1”. If you see a QS and “force_qs: 0” then that means it used QS because not enough RAM was available. This is also not a bad thing. I am RAM limited and recently found that adding more plotters with reduced RAM increased my TiB/day than less plotters with the optimal RAM allocation. My plot times increase by 1-2 hours, but there are more of them so its more over time.
  • Ram: 3.261GiB – This is the amount of RAM the plotter is configured with. Sometimes this might show up as half the amount but again, its a plotter defined section of the plot process, not a configuration error. Also, note the notation here! this is GiB. The RAM you configure on the plotter is in MiB. This is a real easy way to check if you set the correct RAM. Just start a plot and wait for the first bucket to be processed. With 128 buckets configured, you’re shooting for a number higher at or higher than 3.250GiB.
  • u_sort min: 1.125GiB – OK, here is a juicy bit of information. This is the minimum amount of RAM needed to perform a uniform sort on the current bucket. Got more than this? Perfect. Got less? I’m doing QuickSort. This is the metric you use to optimize your RAM settings if you want minimal QS to happen.
  • qs min: 0.281GiB – As you may have guessed, this is the minimum size needed to perform a QuickSort on the bucket. What happens if you have less than this? It crashes and you lost the plot being worked on. Do not oversubscribe your RAM because you run the risk of losing all the plots being worked on. With Windows, I normally leave 4 GBs of free ram for the Operating system to that the swap file isn’t used. This has, so far, worked very well.

My system has 32GB of ram. So, in order to have 12 plotters in parallel and maintain the 4GB of free memory I had to set my plotters to 2400 RAM. This means that the plotters must do QS on a portion of the buckets that require the highest amount of ram. But this is OK because in the end, my TiB/day is higher with 12 @ 2400 RAM vs 8 @ 3408 RAM.

Finally, Temp Drive. The last of the trifecta of plotting. Each plotter requires 256GB (238GiB) of temp space. It used to be 356GB before version 1.0.4, so it is much improved. Speaking of which, I’m sure you have noticed, the notation of GiB. For those uninitiated, the difference is that GiB represents 1 073 741 824 bytes and GB represents 1 000 000 000 bytes. What makes this confusing though is that Windows labels space as “GB” but actually uses GiB in the background. Hard drive manufacturers use pure GB notation. Hence why a 12TB Hard drive shows up as 10.9TB in Windows.

Back on topic, Temp drive speed and Temp drive interface type is important. There are many types but here is a boiled down list.

  • Non-Volatile Memory Express (NVMe) – This is the best interface to plot with. Running on the PCI-Express bus, it has the highest speeds and typically the highest IOPS available. It is a solid state drive, this means that write endurance is something to consider. In my machine I’m using two Inland Premium 2TB drives (amazon affiliate link). I chose these drives from recommendations of the community. Their write endurance is good (3200 Terabytes Written) and their price was also good (at the time, $220). These also do very well with multiple plotters using them for temp drive space (I have 6 plotters per 2TB NVMe at the moment).
    • If you go with these, ensure you have a heat sink attached to it. The plotters put a good stress on it and you want running temps to be less than 60 degrees Celsius so that it hits its life expectancy.
    • These drives use 4x PCI-E lanes each. Processors have a certain amount of PCI-E lanes available. You need to ensure that you have enough PCI-E lanes for the amount you want to use.
    • Also, some motherboards don’t have on-board M.2 slots for these drives. Know that there are PCI-E to M.2 cards that will allow you to run these on older Motherboards.
    • Finally, older motherboards may have multiple M.2 slots but some may only run in SATA mode instead of NVMe mode. Please check your motherboard manuals. This reduces speed significantly.
  • Solid State Drives (SSD) – These are 2.5″ Hard drives that run on the SATA Bus. These will produce plots slower than their NVMe counterparts (with the exception of Enterprise-Grade SSDs) but still faster than a spinning disk hard drive. I haven’t really tested how well it does with multiple plotters, The highest I got to was two plotters on my SSD. Even then, those two plotters produced plots slower than the four plotters on my NVMe. Once again, look at the write endurance if planning on purchasing one.
  • Hard Disk Drive (HDD) – These are the standard 3.5″ Hard drives that having spinning disks inside. These are not great at plotting. It will get the job done, but, you can only have one plotter at a time. Trying two plotters will slow it down significantly due to seek times. Some people have been successful using an External USB3 HDD as a temp drive however. Definitely doable, but slow.

I have two of the Inland Premiums so in my system I have 6 plotters on each, spaced forty minutes apart from each other. With all of these settings and equipment, I roughly get 3.6TiB/Day (12 plots every 8 hours).

Here is another Pro-Tip that has given me good results. Using a staging drive as the final directory with the plotters. A staging drive is where all of the plotters put the plots and then I have a robocopy loop script to move those over the network to my farming machine. This essentially mitigates the potential backup that can be caused if plotters are writing to a spinning hard drive directly. I use a 1TB consumer NVMe for this purpose. The plotters finish writing their plots to the staging drive in 2 minutes (as shown in the image showing plot speed) and proceed with the next plot while robocopy takes the 15-20 minutes to transfer it over the network. Below is the batch script I use to do this. Just place this in a new notepad document and save it as “plotrobocopy.bat” and select “All Files” when saving.

@echo off
set "source=D:\plot"
set "destination=\\<Your 2nd machine>\<your plot folder>"
robocopy "%source%" "%destination%" /mov *.plot
timeout /t 30
goto loop

Before running the batch file, connect to the folder you’re sharing on your second machine. Then replace the source path with your source path and the destination with your destination path. To run the script, just double click it to open. The script checks every 30 seconds for a new file to “move”. Once the copy is done, it will delete the plot from the source.

This should be a good starting point to try and optimize you system. A tool that has helped to monitor CPU, RAM and Temp Directory usages has been HWInfo. I downloaded the portable version and when it boots up open the sensors. This gives you mins and max for each data sensor. The cool thing however is you can right-click a sensor and “Show Graph” and you can see a nice graph of the sensor. I don’t turn on any logging because that will use Disk Space. I monitor the Graphs and tweak settings. Good luck to you all, optimizing in Chia is not for the faint of heart.

Edit: Below is the PowerShell script I use to kick off my plots:

For an explanation on how the script functions, visit my page here.

107 thoughts on “Optimizing Plotters in Windows

    1. If you look at the Chia Team’s consensus document, Table 1 generates table 2 which generates table 3 so on and so forth. I can imagine needing more and more ram in order to sort the data. I don’t know the exact answer though.

  1. Any why u_sort min could grow as big as the (default) allocated Ram, causing multiple force_qs: 0 in the middle of phase 1?

    1. I think you’re referring to table 5 and table 6. I too have noticed that the biggest u_sort min values are here. The Chia Team’s Consensus document will have a better answer than what I can give. Check the Resource option at the top right for a link to it.

  2. Could you please share some of your configs in your blog? i never work with cli, wanna try build mine by your example (im using windows). GUI is often buggy and stall in some ways.
    Also, after its stuck i often delete my plots at 11-90% and start from the begining 🙁
    Killings stuck chia task in taskmanager is also very annoying. I hope i will learn best practise from you.

    Thank you for sharing your knowledge and experiments with us. I will try to find best parameters with my i9 9900k ans 32gb ram + 2tb nvme

    1. For example how to make this part in batch command in PS : ” I’m running 12 plotters with four threads each, kicking off 2 plotters per forty minutes until reaching 12 plotters. I put the forty minutes in there so that there is time for plotters to be well into phase 1 before the other plotters start.”

  3. Alex, could you please explain how you managed to to make your 24 thread CPU run 12 parallel plotting processes + config them at 4 thread each? Its 12*4=48 simultaneously run threads! Is’t it overwhelming for cpu? Twice as much more threads it can carry?

    In same math, i can kick off 8*4 threads at i9 9900k?

    1. Plotting is done in 4 phases. Only phase 1 is multi threaded. All other phases are single threaded. So if you stagger them properly, there will be plotters into phase 2 before more plotters start.

      1. Yes, but phase1 is 3-4 hours length at 4treads.
        40 min will not help, right?

  4. thank you for all the precious information. only one part i didnt get if you explain it please

    With my 5900x, I’m running 12 plotters with four threads each, kicking off 2 plotters per forty minutes until reaching 12 plotters. I put the forty minutes in there so that there is time for plotters to be well into phase 1 before the other plotters start.”
    if you can explain.

      1. Hey Alex. Thanks for the guide. To followup on this though. To start you’re using 8 threads (2*4), then in 40 minutes, you’re using 16 threads. 40 minutes after that, I’m assuming your original 2 plots are still in phase 1 right? But then at that point you’ve got 6 plots running in phase 1, 4 threads each has you up to 24. But in your other guide you said “My CPU is a 5900X which is 12 core/24 thread. Following the formula, 36/2, I come up with 18.”

        So are you not running into issues going over the 18 you called out? Or is it really in this case 24 is your number and by the time the 4th set starts, the first set will be into phase 2?

      2. Hi Chris, you’ve made a good point. I was setting my delay on the time it took to write the plots out from the staging drive. I believe this is why I’m getting such varying plot times when running 12 plotters (from 25000-28000). There’s probably too much oversubscription happening. Also, that formula is to give you the theoretical maximum plotters in parallel that a CPU can support, not threads in parallel for a plotter. So my 5900x should be able to support 18 plotters in parallel (with 2 threads per plotter) WITH a delay between the plotters. All the plotters can’t start at the same time.

  5. One more quastion RAM – every thread eats in your config 2400mb . 4thread*12plotters*2400 (2400 per thread as i understood)
    =115200mb, much more than 32000 u mantioned in article.
    How that may work?

  6. My prev quastion is terminated 🙂 Now i get that RAM is per plotter process, no per thread.
    (my CPU has 16threads
    Playing with some config: Thread4, Ram 2400 , 6 plotters
    Time for phase 1 = 8398.711 seconds. CPU (185.970%)

    is faster than Tread2, RAM 2400, 8 plotters, no delay:
    Time for phase 1 = 14594.567 seconds. CPU (141.040%)

    4T, RAM 3409, 4 plotters, no delay:
    Time for phase 1 = 9135.105 seconds. CPU (199.430%)

  7. Hello .. I have i9 10850k + 64gb ram + 1 ssd 2tb nvme . How should I config for best plotting?
    Thank you for the help.

    1. Hi Surya, It looks like the NVMe is the limiting factor here. You can have 8 plotters at the same time. You will need to stagger their start times so that it does not overload the NVMe. 30 minutes should be good.

      1. Thank you Alex. Should I use 4 thread or 3 thread? So I should run 1 plot every 30 minutes? Thank you

  8. Hi Alex, what config should be best for i9 10850k + 64gb ram + 2TB ssd nvme (just 1 ssd). Can I run 10 plotter kicking off 2 plotters at 4 thread each per forty minutes until reaching 10 plotters and repeat? how much ram should I use for each plotter?
    Thank you for your help.

    1. Hi Limbang, Running 10 plotters will be really tricky because of the NVMe. You will have to experiment with it. I recommend to start with 8. Kicking off 2 plotters with 4 thread each should be ok also. Good luck!

  9. Hi Alex! Please can you look at this and can you judge if it is normal? I have:
    – CPU – 4 cores / 8 threads, 3,6 GHz
    – RAM – 16 GB
    – 1TB SSD (no nvme)

    I am trying to do 3 plots in parallel with 1h delay (default settings – 2 threads, 3390 MB RAM, 128 buckets) . After about 9h from beginning plots are on the 32%, 31% and 25%, so it seems to be very slow. Please dont you know where could be the problem?

    (I am also syncing in now – may it be so slow because of this?)

    I would really appreciate any opinion and thanks for it!

    1. Hi Ales, Does the 1TB SSD also have your OS installed on it? If so, this may be the issue. If not, then the processor might not be able to handle it. Is this an intel i5?

      1. OS is on another disc.

        Intel Core i7-6700 (3,4Ghz, 4 cores, 8 threads)
        RAM 16 GB
        SSD 1 TB (not nvme)

        It was quite quite a good price but I expected that I would be able to plot 3 plots in parallel and the plots will be done in about 8 hours. It means that I would be able to make about 9 plots per day. But the reality is different. I set it up like this:

        3 plots in parallel
        2h delay
        RAM – 3390 MiB
        Number of threads – 4
        Number of buckets – 128

        After a day, only 4 plots have been created. The process is really slow. If I would be plotting only 1 plot in parallel, the result would be the same.

        Please, dont you know where can be the problem? What is the bottleneck of this setup? Can it be SSD? According to the parameters, I think that with this setup I should be able to mine 3 plots in parallel and 1 plot should take about 8 hours.

        I was advised to buy another 2 SSDs and plot one plot on each SSD disc. Do you think it could help?

      2. Hi Ales, I think the processor can’t handle that many threads in parallel. It is a 6th gen intel. I’m not certain that another SSD will help you plot faster.

    2. With a non-nvme disk you barely can make 2-3 plots at the same time.
      I strongly recommend nvme disks for more concurrent plots.

  10. On the topic of nvme, is it advantageous to use multiple in raid 0 (simply by using windows 10’s storage spaces) to utilize more temp drive space, or would using as a individual actually yield better performance?

    1. Hi Tommy, I use my NVMe’s in Raid0 mainly to have better I/O wait times. With so many plotters going at once, the I/O is handled better in my opinion.

  11. Cannot get more that 10-12plots per 24hour 🙁
    With 16 threads of i9 9900k and 32gb ram i deffinatly should squize more.
    1x2tb nvme
    1x1tb nvme
    +1x500gb for stage

    im running 2Q’s with 3 plots, with 0,2400,9500 delays
    Tryed 2T, 4T, 2400RAM, 3409RAM
    mostly same result 10-12plots per 24h

    Alex, any thoughts to experiment?

  12. Thanks a lot for sharing your ps script, I’d like to ask though, is there any way to get some log with your script? Maybe there’s a parameter that I have to add?

  13. PS. byt the way i noticed in the running log:
    269.319 GiB was used total (excl. full file) in the plotting — this statistics shows 1 plotting process eats 288,8365507 Gbytes of space, not 256.
    It means that 1TB nvme = 3 Plotting
    and 2TB = 6 maxed

  14. Hi Alex,

    I have a Intel 11700 with 2 2TB NVME drive and 32 ram, I been plotting 4 plot on each SSD with the default settings ( 2 thread and 3390 ram per plot) with a 30 min delay to a total of 8 plots running at the same time.

    In your opinion, with my set up I can plot more?

    Many thanks for your kind advice.

    1. You can plot more, but I’m not sure if it will be faster. If you drop the ram to 2400 you can add up to 4 more plots. Giving you 12. But, less RAM will slow down the plotters and 12 will be the max that 11700 can do at one time.

  15. Hi Alex at the outset thank you immensely for the blog and all the info. on the 12 plotters.txt for “t1p..” i noticed at the end it has “t1p6”; ….. ;Read-Host -Prompt “press enter to exit” should the same be replicated for “t2p..”s as well
    thank you again Alex

    1. Hi Zaltko, the 2TB nvme and RAM are limiting factors here. You’ll be able to do at most 7 plotters in parallel. Kick off a plotter every 30 minutes with 2 threads and 3389 ram with the nvme as temp.

      1. I manage to make 6 plots in parallel and 16 plots per day, need to tweak more

  16. Hi!

    Can you mention a good config for this setup:
    – i5-9600 (6core 6thread)
    – 16GB ram (can be 32GB)
    – 1TB NVME (can be +1tb nvme in raid0)

    How many thread is the best per plot?
    Can I run the plotter in parallel?

    1. Hello! with this setup, I would do 3 plotters in parallel. Use 2 threads, 3389 RAM and the NVMe for the temp location. Good luck!

  17. I am curious what would be the ideal settings for the following hardware.
    Amd R9 5900x , 32gb ram, single m.2 4tb ,
    2 x 14tb and 2x 8tb HDDs .
    Would more ram benefit?
    What would be an ideal setting for plotting?


    1. Hi moho, you have the same system as me almost. You will be ram limited and only be able run 8 plotters in parallel. Start plotters 2 at a time with 4 threads, 3408 RAM. Then, kick off a new pair every 40 minutes until you get to 8 plotters.

      1. Thank you so much. One more question. I can add two more m.2 2tb drives and 32gb of ram . Do you recommend doing it and how would you setup plots.
        Greatly appreciate you time and expertise !

  18. Hi Alex – thank you for this amazing resource. I have a 5900x with 2x 2TB nvme drives and 64GB of ram. If I want to plot in parallel, would you recommend the following:

    Plot Count: 12, Delay 40 min, Ram 3408, Threads 4, Buckets 128?

    Also, my NVME drives are not in Raid, does this mean I have to run two of these with 12 plots each?

    Lastly, you say “running 12 plotters”, are you using the parallel option or the queue option?

    Thanks so much!

    1. Hi Sherjan, Thank you for the comment. Do not Raid the NVMe’s, I’m doing testing and seeing that RAIDing the NVMe’s is slower than keeping them separate. I recommend you use CLI to run the plotters and not the GUI. You want two different queues, one of each NVMe. With 64GB of ram, you can run 18 plots at the same time. Kick off a plotter on each NVMe with 2 threads, 3389 RAM, 128 bucket. Then kick 2 more plotters with the same settings every 40 minutes until you get to 18 in parallel.

      1. Thanks Alex! This is great. Btw, I am not familiar with CLI and feel like I will mess it up. I am using Ubuntu but am happy to try the CLI to run what you have recommended above. Just one question, you are NOT using the “Parallel” option in the GUI (assuming if I go with the GUI way)? You are using the QUEUE option, with 1 plot in each queue. You kick off 1 plotter on each NVME, then you manually wait 40 minutes and kick of 1 more on each nvme, and you repeat this process until 18 plots are running in parallel…9 on each NVME. Then, when the first two plots finish, you add 2 more and wait and repeat. Sorry for the dumb question, just want to make sure I am doing this right. Meanwhile, I’ll try to learn CLI and see if I can get this right. Would really appreciate if you have a link to CLI commands I could use (if you have them), would love to give it a shot! Thank you again Alex!.

      2. No worries Sherjan, I don’t think your question is dumb. I cant remember how parallel is done in the GUI, so I can’t answer that question. With CLI, each window is one plotter. So, its just like you say, 1 plotter on each NVMe, wait 40 minutes (my script on this page does this automatically) and then add another 2, etc until you hit 18 which woudl be 9 on each NVMe.

  19. Hi Alex,

    Have you tried to look into the plotting performance spreadsheets from chia net wiki? I’m running on the same hardware as the Monolith system, but only getting around 4TiB per day instead of the 8.65 TiB listed per day, Do you know how to improve my plotting strategy? I have tried may different plotting method but when the muti-parallels plotting starts, every thing slows down. and my Phase 1 will be done around 17000s. I’m testing the single plot performance now and looking forwards for your reply. Thank you for your time!

    My set up: 5950x/ 128 ram/ 4x2TB Nvme in raid 0.

    1. Hi, Are you using Windows RAID? I would not use RAID0 on the NVMes, it slows down too much instead of leaving them separate.

      1. I have a SATA OS drive, so am using RaidXper2 from AMD, I have tried using them with out raid, A queue of 4 plots on each m.2, so total running 16 plot together at the same times, event with delay time of 180 mins, the result are still very disappointing. Phase 1 time are around 18000s.

  20. Hi Alex, i just bought a ryzen 5 3600x 6 cores (12threads), 16bg ram and Nvme m2 2tb.
    I was planning on doing 5 parallel 2 threads each. Which is the ram I should use in this scenario? and is it the best I can do with what I have? I dont understand why I should wait 40 mins to start the next batch
    Many thanks

    1. Hi agrello, With 16GB of ram, you can only do 4 plotters in parallel at 3389 each. Since you have many threads, you can use 3 threads per plotter. The reason to delay 40 minutes is to allow the final copy to the storage. If all the plotters write to an HDD at the same, it will cause a big bottleneck.

  21. I have a very basic question . after i ran the script. Am i supposed to view the plots being created in queue in the GUI interface ? I did hit refresh plots, i still dont see anything. I did add manually the plot folders.

  22. Hello.

    My system

    Ryzen 5 1600 af
    16 gb ram
    1 tb m2 nvme

    What are the most efficient values ​​in this system. I would be glad if you could help.

    1. Hello emre. I would say 4plotters at 2 threads, 3389RAM each. This processor is a bit old, but hopefully it will run 4 plotters.

  23. Hi Alex,
    I was looking to improvement my plotting performance. I do it in down time.
    Based on your expertise I was wondering how would you run plotting on Ryzen 9 5900x , 3 x 2tb m.2 drives and 64 GB of ram. I have another 64gb that i can install and make is 128. Would that be any beneficial and what would plot setting look like ?
    Greatly appreciate your kindness,
    Thank you, sir

    1. Hi Mirza, use two NVMes and run 16 plotters in parallel. 8 plotters on each nvme, with 2 thread 3389 RAM. Start 2 plotters at a time, one on each nvme, every 20 minutes. Use the third NVMe as the destination drive. Then copy finished plots from the destination drive to a spinning HDD. Good Luck!

  24. Hi Alex please what advice u can give me to optimize my plotting for Rizen 9 3900X and 32 Gb Ram 1Tb separate NvMe thanks in advance

    1. Hi Momo, run 8 plotters in parallel with 4 threads 3408 RAM. Start 2 plotters at a time with a delay of 40 minutes. Good luck!

  25. Thanks so much Alex just i have upgrade and put another NVMe 1Tb so now I have 2x 1Tb NVMe should i plot the double?
    Thanks so much

  26. Olá, Alex, por favor, que conselho você pode me dar para otimizar minha plotagem para Ryzen 7 2700 32gb NVME 512gb posso fazer quantos ao mesmo tempo

    1. Hello, Your NVMe is 512GB this means you can only have two plotters in parallel. Go ahead and do that with 4 threads and 3408 RAM for each plotter. Use the NVMe as your temp drive and a normal HDD for the final destination. Good Luck!

  27. Hi Alex,you are really doing a fantastic job
    My system:
    Ryzen 9 3900x (12cores,24 threads)
    64GB ddr4 ram
    2 x intel p4510 SSD 2tb
    os running on another 240gb ssd
    what should be my ideal plot setting and delay times also do we have to open seperate plotters for seperate ssd and if hdd is full and we want to change hdd then do we to change whole script and powershell?

    1. Hello Madhav, I would start with 12 plotters in parallel. Kick of one plotter on each NVMe with 4 threads, 3408 RAM, every 30 minutes at first. Once your HDD is full, you’ll need to modify the final destination path to a New HDD that has space. Keep an eye on it so that plotters don’t get backed up.

  28. Hello there. You are doing a really good job.
    my system:

    i9 10900k
    64 Gb Ram
    2 Tb m2 NVMe

    What are the most suitable settings for this system.

    When you create 12 plotters, do you put 40 minutes between them all. Or do you start them all without parallel delay and give the next 12 plotters at 40 minutes intervals. Thank you.

  29. Hello and thanks for this wonderful post.

    In the following

    “Time for phase 1 = 8398.711 seconds. CPU (185.970%)”

    What does the CPU value in the parentheses means? I’m trying to understand if it provides some indication of cpu usage or something.


    1. The value in parenthesis means how much CPU was used in the phase. 100% equals 1 CPU core. So 185% means that it used almost two cores the whole time.

  30. Hi,

    Hope you can assist me,

    My setup is

    – Ryzen 7 5800x 8 core 16 Thread
    – 64gb ram
    – 4tb nvme

    I am currently doing

    8 Parallel
    4 Thread
    3408 ram

    Is it ok? Whats your recommendation.

    Thanks in advance

    1. What Brand NVMe do you have? We are finding out that some NVMe’s cannot handle too many plotters in parallel. The threads and RAM looks ok as long as you are staggering them.

      1. I have SXP 8200 and PNY CS3030 =)

        Which scenario is better in your opinion?
        8 Parallel
        4 thread
        3408 ram
        40 minutes stagger


        12 Parallel
        2 thread
        3389 / 3408 ram
        40 minutes stagger

        I have tried the 12 Parallel and the first plot done in 9 hours.

        =) Havent actually try the 8 Parallel yet

  31. Hello Alex, I’ve got a Ryzen 5 3600 6cores(12threads), 32GB ram and 2xNvme m2 1tb.

    I’m doing 6 in parallel(3 plots on one ssd and 3 plots on another). Kicking off 2 plots with a 40 minute delay. Using 3408 ram and 4 threads.

    Is it ok to use 4 threads? Or should I go down to 3threads? Or maybe I could do 8 in parallel with 2 threads?

    Thank you!

  32. Alex, it seems you’ve been a godsend to others, so let me try my luck at asking you what the best plotting config would be for my setup?

    i7-10700k (8 core, 16 threads)
    32gb RAM
    Samsung 980 Pro 2TB

    Keep up the good work!

  33. Hello Mr.Alex,
    I have doubt when all my plot process to 100 % (all 14 plot), Its take around 1 hr. to finish (chaged to farming status).
    This is normal or not to take time 1 hr ?
    ps. I plot 14 plot in parallel (7 on nvme_1 and 7 on nvme_2), Final drive is Portable Seagate 10 Tb.
    Thank you sir!

    1. Hello Satapt, It seems to me that there is a bottleneck at the end. All the plotters are trying to write to the portable drive at the same time. This causes the slow down I believe. This is one of the reasons to add a delay between the plotters. If you don’t want to add a delay, use a faster drive as the final drive and then copy the files from there to the portable.

      1. Thank you Mr.Alex
        Then I will try to add delay between the plotters. So plotting 14 in parallel and 45 Min between plotter is OK value for me?
        My rig is 5950x, 64 ram 3200, 2×2 Tb Nvme ssd.
        Ty Sir.

  34. Great job Alex!
    Can you help me maximize plotting performance. When I run in parallel every 90 minutes the first plot takes only 5 hours but the rest after that are about 8-9 hours each. I’m running everything 7078 ram and 6 cores.
    I am doing some test running K34 and K35 to see if the TB/day gets better. I’m currently at 1.8tb/day

    I have
    Ryzen 9 5950x (16cores & 32 Threads)
    128 GB RAM
    2x Corsair MP600 2TB each. (For temp)
    2x 14TB WD for storage

    I started using your CLI script.

    Thanks in advance!

  35. hey man what do you think about optimal plotting for ryzen 5 3600 32gRam 1tb nvme ssd i got 16tb of storage space.
    can you write good settings for parallels

  36. Hey Alex,

    Any recommendation for ryzen 7 3700x, 32g ram, 2 2tb nvme ssd and 5 16t hhd?

  37. I have the same exact system. 1600af 16gb 1tb nvme. i also have a tomahawk b450

  38. Alex,

    I’ve got a

    AMD Ryzen 7 5800X eight-core/16-thread
    64GB ram
    2x 1TB NVMe 4.0 SSD as temp drives

    I’m still trying to figure out the best plotting settings to maximize the # of plots added per day… what do you recommend?

  39. Thank you very much for all the great advice! I have moved to your invocation scripts here for plotting, and it is indeed a great improvement over manual plotting! I have a question with regards to RAM allocation. You mentioned min required ram for different thread counts and recommended 3389 for 2 threads, but here you say you use 2400. Does it mean 2400 is not optimal, but higher than min requirement for 2 threads?

    1. Hi Tri, thanks for the comment. Yes, 2400 is not optimal. It will slow down your plot speed. I’m only doing it because I don’t have enough ram.

  40. Hi Alex,

    Thanks for blog because it is amazing!!!

    My setup: 10850k ( 10 cores 20 threads ), 32 GB ram ( waiting 32 more ), 1 NVME 2TB firecuda 510 ( waiting 1 more ).
    I have followed your rules and I have created scripts and i have copied them manually in PS one by one and now they are running in parallel as you advised us, this is great!!! But Is it possible to automatize process launching them in a bat file and resending them automatically when first script finishes or it must be done manually?

    1. Hello Jose, thanks for the comment. With the way I’m doing it, you have to launch the script manually but you can change the “-n” so that it produces more in a queue.

      1. Hi Alex,

        Thank you again, I am new in CLI interface and I have checked that your script it is a loop that when it finishes, it starts again, -n value times, just that i want!!!

        Thanks to increasing memory and NVME capacity i will have system at maximum endurance thanks to your calculations!!!

  41. I get the following errors on all of my queues why?

    Starting phase 1/4: Forward Propagation into tmp files… Tue May 11 03:27:22 2021
    Computing table 1
    F1 complete, time: 103.883 seconds. CPU (182.25%) Tue May 11 03:29:06 2021
    Computing table 2
    Caught plotting error: bad allocation
    Traceback (most recent call last):
    File “chia\cmds\chia.py”, line 81, in
    File “chia\cmds\chia.py”, line 77, in main
    File “click\core.py”, line 829, in __call__
    File “click\core.py”, line 782, in main
    File “click\core.py”, line 1259, in invoke
    File “click\core.py”, line 1259, in invoke
    File “click\core.py”, line 1066, in invoke
    File “click\core.py”, line 610, in invoke
    File “click\decorators.py”, line 21, in new_func
    File “chia\cmds\plots.py”, line 135, in create_cmd
    File “chia\plotting\create_plots.py”, line 176, in create_plots
    RuntimeError: bad allocation
    [11648] Failed to execute script chia
    press enter to exit:

  42. Hi, I am new to this and I got confused with different informations on the web, can you simplify this to me as a noob, i’ve got ryzen 3900x 12 cores/24 threads, 64 gb of 3200mhz RAM, 2 x 2tb mp600 nvme drives in raid0. The question is, if I set one process to start plotting lets say 10 plots and I set a delay to avoid phase1, does this mean I can start up multiple processes at once, for example 6 procceses start plotting at the same time, when the phase1 finish that 6 different processes is starting another plot etc. In theory, does it work like this or it can be only one plot after another, delaying start?

  43. Hi Alex, thanks for the fabulous information you’re supplying to the chia plotting folks. I have two systems, may I ask what your suggestions are for both of them?

    SYSTEM 1:
    Intel i7-11700 (8 core, 16 threads)
    16GB x 2 = 32GB 3200mhz RAM
    1 x 2TB XPG SX8200 Pro SSD
    2 x 16TB WD MyBook External HDD

    SYSTEM 2:
    Intel i9-10850k (10 core, 20 threads)
    32GB x 2 = 64GB 3600mhz RAM
    2 x 2TB XPG SX8200 Pro SSD
    4 x 12TB Toshiba Internal HDD

    I’ve been only getting 14 plots/day for System 1 and 20-22 plots/day for System 2, which I think are way under optimal efficiency. Your advice is greatly appreciated.

      1. Thanks Alex, I did review the article linked and I’ve made the following configurations by modifying the scripts you had posted, perhaps you can advise whether they are sound?

        SYSTEM 1 (i7-11700 8C16T):
        8 parallel plots delayed by 40mins
        r -4
        b -3408
        n -3

        SYSTEM 2 (i9-10850 10C20T):
        6 parallel plots delayed by 40mins using Temp 1 and Dest 1 & 2 (alternate plot)
        r -3
        b -3408
        n -3

        6 parallel plots delayed by 40mins using Temp 2 and Dest 3 & 4 (alternate plot)
        r -3
        b -3408
        n -3

        Or should I use either r-2 or r-4 even numbers for number of threads?

        Many thanks!

Comments are closed.

%d bloggers like this: