我如何知道 Finder 正在忙什么?

我如何知道 Finder 正在忙什么?

我在 MacBook Pro 上运行 Snow Leopard。我的 Finder 变得非常繁忙,重新启动 Finder 或重启都无法让它冷却下来。Spotlight 没有报告活动,Time Machine 也不忙,但 top -ocpu 报告 Finder 的运行速度在 30% 到 100% 之间。

更新:所有建议均无效。目前(首次提出问题三个月后),我决定等到新款 MacBook Pro 上市,然后开始全新安装。非常令人沮丧的是,没有办法调查 Finder 卡在什么地方。

答案1

shell 命令...

sample Finder

...将监视 Finder 进行的所有函数调用,并创建一个文本文件,显示每个 Finder 线程的调用堆栈。即使是知识渊博的非程序员(如果您愿意的话,也可以称为超级用户)也常常可以从中收集有价值的见解。通过以下方式将错误报告附加到 Apple 也是一件很棒的事情http://bugreport.apple.com/

这与活动监视器中的“示例进程”按钮基本相同。


更新:哦,甚至比 更好,sample(1)spindump(8)就像,sample但当应用程序的线程被阻止等待内核时,增加了对内核正在做什么的可见性。

sudo spindump Finder

它创建的文本文件/tmp需要 root 权限才能读取,因为它可能包含特权信息。


可以从以下位置收集到更多线索......

lsof -p $PIDOfFinder

(其中 $PIDOfFinder 是 Finder 的进程 ID,您可以通过 找到它ps。)

看起来您可以在活动监视器中获得相同的信息。选择 Finder,点击“检查”按钮,然后选择“打开文件和端口”选项卡。

另一个有趣的数据点是,问题是否发生在同一个系统上的新的干净用户帐户中。只需创建一个新的用户帐户,注销您的普通帐户(不要使用快速用户切换 - 我们不希望您的“坏” Finder 实例在后台运行并造成混乱),然后登录到新的干净帐户,看看问题是否也发生在那里。

您是否正在运行任何 InputManager 黑客程序,包括基于 SIMBL 的东西,或者 Unsanity Application Enhancer (APE)“haxies”?

启动到“安全模式”(即按住按键启动<shift>)时是否会发生此问题?

答案2

遗憾的是,Apple 没有为 Finder 提供任何活动监控功能。因此,我认为,如果 Finder 继续出现问题,最好的解决方案是将其首选项文件移出首~/Library/preferences/com.apple.finder.plist选项文件夹并重新启动它。

答案3

如果活动监视器仅显示“Finder”的百分比很高,则您不一定能轻松地找出导致这种情况的原因。

1) 检查您是否安装了任何文件服务器。如果安装了,请将其弹出,包括 MobileMe。2) 按 Command-J。关闭“使用相对日期”和“计算所有大小”。您看到有什么不同吗?

我曾经看到过,计算所有大小会将 CPU 固定一段时间,直到它完成整个树的计算......并且它必须定期检查以确保没有添加或修改新文件...但是一旦完成扫描,它就会平静下来......

答案4

没有什么可以神奇地告诉您哪里出了问题,但是这个脚本会告诉您在机器上安装了什么样的售后垃圾,以便您可以自行开始删除过程:

http://khiltd.com/software/consultants_canary

我会特别关注 QuickLook 和 Spotlight 插件,但真的不知道人们在他们的机器上放了什么。

相关内容