我的瓶颈在哪里:RAM、CPU 还是磁盘?

我的瓶颈在哪里:RAM、CPU 还是磁盘?

我有一个 32 核、64 线程、128GB RAM 系统,带有内置 SSD。

我正在并行运行 64 个数据挖掘/模拟作业,每个作业从磁盘加载 1GB 并运行大约 5-10 分钟。

我想知道我的瓶颈是否是 CPU、磁盘或 RAM。我这里有 atop/htop/iotop 的输出,但我不知道如何正确解释它。你能给我一些建议,告诉我瓶颈在哪里吗?

我不认为我的瓶颈在于磁盘(这是我对 iotop 的业余解读),但我不知道如何读取 atop/htop 并确定我的瓶颈在于 RAM(例如,带宽通道数、延迟)还是 CPU。

输出顶部:https://i.stack.imgur.com/5fv35.jpg

htop 输出:https://i.stack.imgur.com/kmLgC.jpg

iotop 输出:https://i.stack.imgur.com/o6Ezk.jpg

注意:交叉发布于https://www.reddit.com/r/linuxquestions/comments/eo4s71/interpreting_atophtopiotop_output/

答案1

RAM 使用率约为 73%,几乎没有使用交换空间,并且所有核心似乎都已满负荷。因此 RAM 大小和速度都很好,瓶颈肯定是 CPU。

根据您对任务的描述,磁盘速度不一定是瓶颈,因为它不像 CPU 和 RAM 那样经常被使用。iotop显示磁盘速度为 14 MB/s,但考虑到您有一个 SSD,它应该比这快得多,尤其是在读取时。我猜截图不是在磁盘使用率达到峰值时拍摄的,否则您可能需要研究一下。

相关内容