限制用于索引的CPU内核数量

时间:2018-12-31 14:44:01

标签: xcode

有没有一种方法可以限制Xcode在后台使用多少CPU内核来索引代码?

我用emacs编写代码,但是我从Xcode运行我的应用程序,因为调试器非常棒。问题是在emacs中,我使用rtags进行索引,该索引已经需要大量CPU,然后Xcode希望这样做。基本上,每当我触摸一个公共头文件时,我的计算机就会遇到大麻烦...

3 个答案:

答案 0 :(得分:0)

我喜欢这个问题,它提出了棘手的问题解决方法:)

不确定是否可行(不确定如何强制Xcode进行索引),但是有一些想法可能会让您走上正轨:有一个名为cpulimit的工具可用于减慢进程(它在给定的进程中插入了sleep或其他内容,我在尝试挖掘加密时使用了它)。

如果您可以找出索引守护程序的进程ID,也许可以cpulimit

我将先在发生索引之前和之后运行ps -A | grep -i xcode,以查看发生了什么变化(如果有的话),或者使用“活动监视器”查看哪些峰值(/Applications/Xcode10.1.app/Contents/SharedFrameworks/DVTSourceControl.framework/Versions/A/XPCServices/com.apple.dt.Xcode.sourcecontrol.WorkingCopyScanner.xpc/Contents/MacOS/com.apple.dt.Xcode.sourcecontrol.WorkingCopyScanner看起来很有趣)

答案 1 :(得分:0)

cpulimit上有一个-i或--i​​nclude-children参数,应注意这一点,但不确定其在实际中的效果如何。

答案 2 :(得分:0)

我制作了一个脚本/ usr / local / bin / xthrottle;

#!/bin/ksh
PID=$(pgrep -f Xcode | head -n 1)
sudo renice 10 $PID

您可以玩的不错的水平,-20最低,对您的邻居进程最高。