有没有一种方法可以限制Xcode在后台使用多少CPU内核来索引代码?
我用emacs编写代码,但是我从Xcode运行我的应用程序,因为调试器非常棒。问题是在emacs中,我使用rtags进行索引,该索引已经需要大量CPU,然后Xcode希望这样做。基本上,每当我触摸一个公共头文件时,我的计算机就会遇到大麻烦...
答案 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或--include-children参数,应注意这一点,但不确定其在实际中的效果如何。
答案 2 :(得分:0)
我制作了一个脚本/ usr / local / bin / xthrottle;
#!/bin/ksh
PID=$(pgrep -f Xcode | head -n 1)
sudo renice 10 $PID
您可以玩的不错的水平,-20最低,对您的邻居进程最高。