如果我减少 CPU 和 RAM,如果没有使用 100% CPU/RAM,会影响我正在运行的程序的交付时间吗?

问题描述 投票:0回答:1

我不确定这是否是提出这个问题的正确堆栈。我有以下情况:

我有8个CPU
我有 16 GB 内存

我正在运行一个使用 3 CPU 和 6 GB RAM 的程序(因此使用率低于 50%)。

我的问题:

如果我将 CPU 减少到 4 个 CPU,将 RAM 减少到 8 GB,我假设现在同一程序的使用率为 75%。然而,它会增加交货时间吗?假设我的程序扫描某些内容,并且此扫描需要 1 小时。如果我如上所述减少 CPU 和 RAM,同样的扫描是否需要 1 小时?

cpu ram
1个回答
0
投票

取决于其他正在运行的进程以及操作系统本身使用的内存。如果其他进程没有重大活动,那么减少 CPU 数量应该没有关系。

操作系统本身需要一些内存。您应该关心的参数是更少的“总”内存和更多的“空闲”内存(但是您可以通过增加总内存来增加可用内存)。如果启动应用程序后仍有剩余可用内存,则不应发生内存交换。您可以在操作系统中禁用内存虚拟化,这样,如果没有可用内存,进程就会失败。这可以防止所有内存交换、内存直写等操作,从而减少执行时间。但如果没有足够的可用内存,那么任何进程都可能随时失败。

您提到您的应用程序会扫描内容。我假设它扫描外部存储器,即硬盘驱动器。这花费了最多的时间,并且几乎独立于 CPU 和内存。由于这一瓶颈,实际上可能会出现这样的情况:您的应用程序使用一个 CPU 和一些最小数量或 RAM 运行得同样快(或慢)。

© www.soinside.com 2019 - 2024. All rights reserved.