考虑以下问题,计算机系统中的瓶颈从大到小的降序排列是什么?
- 网络 I/O
- 磁盘 I/O
- 内存输入/输出
- 图形输入/输出
- 处理 I/O
我经常解释什么会导致机器运行缓慢,我想了解系统中最大的瓶颈是什么,从大到小。假设一台普通的计算机有一个不错的 7200RPM 硬盘、平均每秒 500 千字节的上行/下行网络连接、平均速度的 RAM、双核 2GHz 处理器和一个相当便宜的显卡,我上面的列表的顺序是什么?我假设它按照我写的方式排列,但我想确定一下。
造成硬件和 I/O 瓶颈的最大和最小原因是什么?
答案1
这取决于
如果您正在下载文件,则瓶颈将是网络 I/O。如果他们正在处理 word 文档,则网络 I/O 完全无关紧要。
这也许是一种更好的描述方式:
- 如果问题是应用程序运行缓慢,那么如果有可用的 RAM,瓶颈通常是 CPU,或者由于 RAM 不可用,瓶颈是磁盘(因为数据是分页到那里)。在磁盘方面存在 I/O 瓶颈,如果处理器已满负荷(或者更可能是核心已满负荷并且应用程序不支持多线程),则 CPU 是瓶颈,而不是 CPU I/O。
- 如果问题是游戏运行缓慢,通常可以通过购买更好的显卡来解决。但这几乎与 I/O 无关,而是与计算有关。
- RAM 速度仅在用户向 RAM 写入大量数据(> 1 GB/s)时才重要。除非用户经常这样做,或者他们关心毫秒差异,否则它几乎不重要。RAM I/O 通常非常快(DDR2 每秒可以达到 3200 到 8533 MB,DDR3 更快),因此这很少成为瓶颈
- 仅当有大量数据来回传输时,网络 I/O 才重要。
- 磁盘 I/O 在启动时以及复制或加载大文件/应用程序时很重要,但通常情况下,除非进行大量此类操作,否则不太明显。
笔记:I/O 指的是输入/输出。虽然这对于某些组件(例如磁盘)来说是一个因素,但对于其他组件来说通常无关紧要。许多 CPU 可以达到 6 GB/s,GPU 也是如此。它们完成计算所需的时间通常比它们读取数据并将其输出所需的时间更重要。