如何找出Finder正在忙什么?


9

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

更新:所有建议均未奏效。在这一点上(第一次提出问题三个月后),我辞职了,等到新的MacBook Pro出现并开始全新安装。非常令人沮丧的是,没有办法调查Finder遇到的问题。


我很乐意看看您的spindump或lsof输出,@ Peter。
Spiff 2010年

Answers:


8

shell命令...

sample Finder

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

这与“活动监视器”中的“采样过程”按钮基本相同。


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

sudo spindump Finder

在其中创建的文本文件/tmp将需要root priv读取,因为它可能包含特权信息。


可以从...收集更多线索。

lsof -p $PIDOfFinder

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

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

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

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

引导到“安全模式”(即<shift>在按住键的情况下引导)是否会发生问题?


@Peter,这就是全部或全新安装!:P
cregox

放弃。最后想出了一个全新的Macbook专业版,它带有全新安装,然后进行整理比较容易。安装中有损坏的东西。但我很感谢学习经验。:-)
Peter S Magnusson 2010年

5

可悲的是,Apple没有为Finder提供任何活动监视功能。因此,我认为,如果Finder继续表现不佳,最好的解决方案是将其首选项文件:~/Library/preferences/com.apple.finder.plist从首选项文件夹中移出并重新启动。


肯定是一个很好的答案,但是我建议您在测试发现者的偏好之前先进行一些测试……
Benjamin Schollnick 09年

根据本杰明的建议,我首先尝试了其他方法,但没有成功(问题又回来了)。欺骗偏好似乎已经成功了。
Peter S Magnusson,

不,不是。问题一直持续存在。
Peter S Magnusson

2
@Peter如果我做了一点,那一定是搞乱了取景器的偏好。您是否尝试过同时检查控制台日志
cregox

0

如果“活动监视器”仅以较高的百分比显示“查找器”,则不一定有一种简单的方法来找出引起该错误的原因。

1)检查是否安装了任何文件服务器。如果是这样,请弹出它们,包括MobileMe。2)按下Command-J。关闭“使用相对日期”和“计算所有大小”。你有什么区别吗?

我已经看到“计算所有大小”将在哪里占用CPU一点时间,直到完成计算整个树为止。而且它必须定期检查以确保没有添加或修改新文件...但是一旦完成完成扫描后,它会平静很多...


0

没什么能神奇地告诉您什么地方出了问题,但是此脚本将告诉您在计算机上安装了哪种售后垃圾,从而可以自己开始删除过程:

http://khiltd.com/software/consultants_canary

我会特别注意QuickLook和Spotlight插件,但实际上并没有告诉人们人们在他们的机器上放了什么。

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.