如何降低处理器的时钟速度


12

我最近购买了一台新的MacBook Pro,有时速度过快。我经常为Mathematica编程,在旧的2007年MacBook Pro上,当运行缓慢时,我通常会感觉代码效率低下(那是我决定“哎呀,我写了一些垃圾代码。也许我应该花几个小时来对其进行微调) ”)。但是,在我的新Mac上,所有内容都可以快速运行zippy。

Mac上是否有开关可以让我将CPU速度降低到1 GHz?


让我们将扩展讨论移至聊天
bmike


我立即记得这部漫画:xkcd.com/1172
justhalf

Answers:


19

我认为不可能仅仅因为微处理器的功率,频率和时钟速度之间的直接关系而操纵最小时钟速度条。显然时钟是有一定范围的,因此例如对于运行模拟,系统需要更多的功率才能在该范围内更快地运行,然后在停止模拟时看到下降。

解决方案:您是否考虑过在MAC OS内但在虚拟机(例如虚拟盒)上运行程序?然后,您可以限制专用于运行第二个OS的内核/ RAM的数量。在这种情况下,程序可能会被迫慢得多。因为虚拟机的资源要少得多。这将为您提供更大的灵活性,如果出现故障,您可以返回并更改虚拟器设置。更有趣的是,您可以将在虚拟机上运行的打包设置带到另一台计算机上,并在该计算机上也可以运行虚拟机,当然也可以在其中安装虚拟机。


3
VirtualBox 不是模拟器。它是虚拟器。这就是为什么它被称为“ VirtualBox”。它虚拟化CPU,但不对其进行仿真。例如,QEmu是一个仿真器。(尽管它可以使用虚拟化,并且在可能的情况下默认情况下也会使用虚拟化。)
JörgW Mittag

1
@JörgWMittag这不是虚拟程序。它称为2类管理程序。
Max Ried'1

1
@DaveRose vm是不必要的,因为可以使用unix实用程序ulimitsysctl通过命令行为单个进程设置处理器数量(亲和力),内存,最大cpu时间和许多其他资源限制的限制-我不记得这些默认情况下会安装实用程序,您可能需要通过XCode安装命令行开发人员工具。您将设置ulimit并从shell中执行Mathematica
crasic

25

如果您担心软件的效率如何,请让我提出一个面向工程的解决方案,让您的MacBook保持全速运行:

使用Mathematica内置探查器。这样一来,您就可以确定计算中消耗最多时间的部分,而不必求助于只能在慢速硬件上工作的裤子位置测量。


1
如何降低一台Mac而不是另一台Mac上的代码的速度?这是很好的信息,但似乎与该线程无关。
bmike

@bmike这是很好的信息。我不了解Mathematica分析器。尽管不能直接回答我的问题,但可能有助于使其不再需要(+1)。最好留下评论。
QuantumDot

6
@bmike它不会降低任何速度,它可以解决OP实际试图解决的问题,即他/她的Mathematica代码是否有效。
nekomatic

1

正如Blrfl的答案所建议的那样,剖析是识别Mathematica代码是否有效的更合适的方法。但是,如果您真的想减慢其执行速度,则可以通过更改Mathematica进程的优先级来实现。我没有尝试过,但是您可以在以下链接中找到有用的信息或软件:

在Mac OS X中,有什么方法可以设置进程的优先级?

如何在Mac OS X(或iOS等)上永久“取消”进程?

北方软件公司的《 Apporority》(前身为Renicer)

但是其中一些讨论有些陈旧,因此您可能需要试验或进一步搜索以找到适用于Mac和OS X版本的内容。另外,如果您将Mac设置为同时运行其他繁重的处理任务,例如转换大型视频文件,您可能会发现该技术更有效。


更改进程的优先级并不能保证它会缓慢运行。这只是对操作系统的提示,如果存在处理器时间争用,则优先级较高的进程必须优先处理。没有任何障碍,低优先级进程将全速运行。
Blrfl 2016年

1

很不幸的是,不行。您不能在Macintosh计算机上更改时钟速度。它们没有与Windows主板相同的BIOS,因此用户无法更改时钟速度或摆弄I / O内容。

其原因主要是因为在Mac上,您无需手动更改这些内容。硬件已经预先构建,操作系统知道它将/可以连接到什么硬件。


Mac OS X的CAN在对电池寿命的电池时,插入时动态改变处理器的时钟速度,例如优先考虑性能,所以这是不是真的正确的-或者至少,如果它是正确的它是错误的原因,即OS没有按不能轻易访问此设置。
nekomatic '16

好点子。我编辑了帖子以澄清这一点
JamEngulfer 2016年

0

是的,但是不建议这样做。由于多种因素,包括处理器负载,温度和电源可用性,时钟速度由OS和处理器本身控制。

如果将电池电量减少到10%至20%,断开所有外部电源,并将笔记本电脑加热到最高工作温度95F(35C),它肯定会进入低功耗状态,包括显着降低处理器时钟。在笔记本电脑下面放一个小的加热垫(例如用于背部疼痛的加热垫)可能就足够了,在冬天,您可能会很舒服。

但是,最好使用正确的工具进行性能调整。是的,您可以模拟您的旧环境并因此使用自己的内部时钟,但是您使用的软件具有时钟,计时器和其他工具来了解您的工作性能。鉴于您可能会在几年后再次升级,或者您可能会在此间使用不同的计算机和计算平台,因此使用模拟器之类的拐杖并不是一个好的长期解决方案。

我建议您改为使用内置工具。常规使用将使您无需花费太多精力即可使用它们,以便您可以将它们即时集成到软件中。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.