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

Pet*_*son 9 mac finder osx-snow-leopard macos

我在 MacBook Pro 上运行 Snow Leopard。我的 Finder 决定非常忙碌,无论是重新启动 Finder 还是重新启动都不会让它冷却下来。Spotlight 不报告活动,Time Machine 不忙,但 top -ocpu 报告 Finder 运行在 30% 到 100% 之间。

更新:所有建议都没有奏效。在这一点上(第一次提出这个问题三个月后),我辞职等待新 MacBook Pro 出现并开始全新安装。非常令人沮丧的是,无法调查 Finder 卡在什么地方。

Spi*_*iff 8

外壳命令...

sample Finder
Run Code Online (Sandbox Code Playgroud)

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

这与Activity Monitor中的“Sample process”按钮基本相同。


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

sudo spindump Finder
Run Code Online (Sandbox Code Playgroud)

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


更多的线索可以从...

lsof -p $PIDOfFinder
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

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


Tri*_*Cyr 5

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

  • @Peter如果我做了一点,那么查找器首选项肯定会出现问题。您是否尝试过同时检查**控制台日志**? (2认同)