Answers:
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>
在按住键的情况下引导)是否会发生问题?
可悲的是,Apple没有为Finder提供任何活动监视功能。因此,我认为,如果Finder继续表现不佳,最好的解决方案是将其首选项文件:~/Library/preferences/com.apple.finder.plist
从首选项文件夹中移出并重新启动。
没什么能神奇地告诉您什么地方出了问题,但是此脚本将告诉您在计算机上安装了哪种售后垃圾,从而可以自己开始删除过程:
http://khiltd.com/software/consultants_canary
我会特别注意QuickLook和Spotlight插件,但实际上并没有告诉人们人们在他们的机器上放了什么。