我从一个物理 CPU 获得了一台具有 64 个内核的 Linux 计算机。
电脑肯定有一些作业管理工具,当我提交作业时,作业被附加到 Core 1。htop 显示 Core 1 正在 100% 工作,而其他内核为 0%。
当我提交第二份工作时,第二份工作被贴在核心 2 上。依此类推。
我从未见过 Core 64 运行任何进程。
如果 Core 1 的作业比 Core 64 多,那么在只有一个物理 CPU 的情况下,Core 1 会比 Core 64 早死吗?
我从一个物理 CPU 获得了一台具有 64 个内核的 Linux 计算机。
电脑肯定有一些作业管理工具,当我提交作业时,作业被附加到 Core 1。htop 显示 Core 1 正在 100% 工作,而其他内核为 0%。
当我提交第二份工作时,第二份工作被贴在核心 2 上。依此类推。
我从未见过 Core 64 运行任何进程。
如果 Core 1 的作业比 Core 64 多,那么在只有一个物理 CPU 的情况下,Core 1 会比 Core 64 早死吗?
CPU 内核并不会因使用而真正“磨损”。唯一真正危险的事情是 CPU 严重过热,但现代 CPU 的内部安全措施会在此之前限制性能。
CPU 设计为能够在满负载(所有内核)下短暂运行而不会过热。之后,它开始限制其性能,并且(如果仍然太热)它将关闭以防止损坏。
因此,无论负载配置文件是什么,您都不能仅仅通过增加 CPU 上的负载来真正伤害 CPU。当然不只使用一个内核。
并且没有看到所有内核上的任何负载并不是很不寻常。无论如何,让所有内核同时工作在具有这么多内核的 CPU 上是相当困难的(除了明确设计为至少对所有内核施加压力的特殊基准测试程序之外)。
您要么需要并行运行大量程序,要么运行需要许多内部并行处理线程的程序。通常,一台 PC 不会遇到那么多并行进程。
64 核 CPU 通常只在服务器和非常高端的工作站中找到。对于正常系统,它们通常是完全过度杀伤的。
我有几个 12 和 16 核心系统可供我在工作和家里使用。我很少让他们在正常工作中使用我所有的核心。
只有当我必须编译一个非常大的软件项目(多线程构建)并且在后台运行多个重型多线程应用程序(3D 渲染软件、视频转码)时才会发生。