0

I have a 32 core, 64 thread, 128GB RAM system with internal SSD.

I'm running 64 data mining/simulation jobs in parallel that each load 1GB from disk and run for about 5-10 minutes .

I want to know if I'm bottlenecked by CPU, disk or RAM. I have the output of atop/htop/iotop here, but I don't know how to interpret it properly. Can you please give me a suggestion about where I'm being bottlenecked?

I don't think I'm bottlenecked by disk (this is my amateur reading of iotop), but I don't know how to read atop/htop and determine whether I'm bottlenecked by RAM (e.g. by number of channels for bandwidth, latency) or by CPU.

atop output: https://imgur.com/a/vQYibJ8

htop output: https://imgur.com/a/vWPCCkA

iotop output: https://imgur.com/a/BcLbxf6

NB: Cross posted at https://www.reddit.com/r/linuxquestions/comments/eo4s71/interpreting_atophtopiotop_output/

1 Answers1

2

RAM usage is at ~73% with almost no swap space being used, and all your cores appear to be maxed out. So RAM size and speed are fine, and the bottleneck is certainly the CPU.

Based off your description of the task, disk speed is not necessarily a bottleneck since it's not constantly being used like CPU and RAM are. iotop shows 14 MB/s disk speed but seeing that you have an SSD it should be much faster than that, especially when reading. I'm guessing the screenshot wasn't taken at peak disk usage, otherwise you might wanna look into that.

slightly_toasted
  • 732
  • 3
  • 13
  • How do we know that RAM speed isn't a bottleneck? I get there's free memory (because the jobs don't use that much RAM) but does that mean that the speed/bandwidth isn't limiting things? – JacksonCounty Jan 13 '20 at 17:01
  • 1
    RAM is what serves information to the CPU for it to work on. If your RAM speed couldn't keep up with how fast your CPU is crunching the data, it would have to sit idle while it waits for the next piece of information. Judging by your maxed out CPU, it seems your RAM is having no trouble keeping up. – slightly_toasted Jan 13 '20 at 17:26