是什么触发了Finder的CPU故障?


13

一周几次,我的Macbook上的Finder最多可以消耗100%的CPU使用率,并且风扇开始爆炸。

我已经做了所有我能想到的事情-修复权限,重新启动,取消偏好设置,关闭视图选项中的“显示预览”,审核活动监视器中是否存在不必要的进程,检查控制台中是否有错误,重新启动Finder等。 。最终它消退了,我认为错误的根源是我最后改变的一件事。

但是现在又在做,我很茫然。我希望有一种方法可以“进入Finder的脑袋”,看看它在做什么。我尝试在Activity Monitor中运行Finder流程的示例,但老实说,我不知道它在做什么,更不用说如何解释输出了。

这确实是我的希望:有人可以解释一种更好的方法来调查像这样的CPU峰值,不仅在Finder中,而且可以在任何失控的过程中进行。当然,有很多细节可以帮助您诊断出这种特定情况,但是在我散发出甚至可能不相关的信息之前,我想我会看看是否有人对这种事情有一般的诊断技巧。

顺便说一句,这是我的第一个Stack-anything帖子,所以请保持柔和。提前致谢!


下一次top -o cpu从Terminal 运行时,它可以更好地掌握发生的情况。
phwd 2011年

您可以lsof用来列出打开的文件。也可能有帮助fuser

出于好奇,您是否启用了FileVault?还是安全清空垃圾箱?
内森·格林斯坦

也许好于lsof或者fuserfs_usage。假定涉及I / O,这三者的某种组合(仅限于占用CPU的进程(可通过顶部找到))应该会有所帮助。

lsof似乎非常有用。找不到要尝试定影的特定可疑文件。现在在configd上尝试fs_usage(请参见下面对NSGod的回答)。@Nathan-不,也没有。
Jesse Baer

Answers:


6

“我希望有一种方法可以“进入Finder的头脑”并查看其工作情况。我尝试在Activity Monitor中运行Finder流程的示例,但老实说,我不知道它在做什么,更不用说如何了解释输出。”

在“活动监视器”中进行采样就是这样:进入Finder的头部以查看其操作。尽管它看起来像希腊文,但我或这里的其他人可以为您解释它。只需发布它,或使其可供下载或查看(因为它们往往很大)。

您正在使用什么版本的OS X?在OS X 10.5.x和更低版本中,我认为多媒体内容在Finder本身内运行,而不是将其委派给代理/帮助程序类型的进程,因此CPU使用率可能会更高。例如,预览QuickTime影片可能会使10.5.x及更早版本的Finder飙升至60%CPU,而在10.6中可能会将其拆分为Finder的10%CPU,QTKitHelper后台进程的30%CPU。

否则,我有时会看到Finder用于计算文件夹内容大小的代码,这会导致CPU临时性峰值。(您会TSomething::HFSSizerSomething在样本的堆栈跟踪中注意到类似的东西)。通常,即使您已经打开了可以保证计算的视图,但似乎仍坚持完成其计算。

无论如何,查看示例应该有助于查明问题,并了解什么情况导致了峰值。一旦有待观察,就更容易解释取样的意义。


我将Finder设置为显示不可见的文件,将其关闭似乎可以解决问题。我已经花了一段时间了,所以我犹豫要假设我已经彻底解决了这个问题。正如我提到的,在其他情况下,我以为我解决了这个问题只是看到它再次发生。
Jesse Baer

(可能要添加此内容,但是编辑会超时…)看来我们还有另一个机会可以尝试此操作-突然配置占用了我15-20%的CPU。并不可怕,但不寻常,而且显然足够,与Chrome和温暖的办公室配合使用,可以触发我的粉丝……这是配置的采样输出:pastebin.com/aEaSN1zc
Jesse Baer

3

您有DTrace可用。

man -k DTrace

这些工具,加上fs_usage -f filesys应该会给您答案。


1

到目前为止,很好的建议。我将分享我在Tiger上使用Powerbook的一些经验(但是由于Leopard也具有FatFinder程序,因此在10.5中也会发生此问题)。

我记得文件夹中有一个AVI。这种格式很奇怪,而不是简单的Quicktime电影或其他任何东西。当时手机相机很糟糕,并且使用了有史以来最糟糕的编解码器。因此,每次我使用Finder转到该“文件夹”时,它都会挂起,因为它试图“读取”该文件,而编解码器很差。

最终,无论是因为运气还是因为我忘记了(或删除了它),这种情况都停止了。但是花了我一段时间才弄清楚它是什么。我记得在Leopard上发生的这种确切行为也是带有“格式错误”的视频。Quicklook会将查找器挂在那块介质上。

我必须用VLC打开它才能“修复”它。然后它神秘地开始工作。

我建议您尝试在CPU出现峰值之前留意您的使用模式,以了解是否存在一些共同点。文件类型,特定文件夹,特定时间等。

在撰写本文时,我不知道您的OS X版本(10.x?),因此如果您正在运行Snow Leopard,则此信息可能会有些过时。

此外,请遵循尝试输出fs_usage,top和类似工具的建议。这可能给我们一个更好的提示。Console.app(/ Applications / Utilities)的输出可能会引起一些问题。


谢谢-正如您在我对NSGod的回答中所指出的那样,Finder的CPU使用率下降了,但现在configd似乎运行良好,尽管变化不大。我通常不会为此担心,但是我想这是来自
Jesse Baer

最后一小时左右,这肯定包含配置何时开始变得忙碌:pastebin.com/V8qpLuD2
Jesse Baer

1

我发现只有两个工具在解决一个孤立程序上的CPU使用率过高问题方面大有帮助。是的,活动监视器可以采样并告诉您挂起/处理的位置-但是我发现如果fs_usage无法使用,Instruments更适合真正解决问题。DTrace很棒-我只需要花时间学习它-仪器运行良好并且对我来说学习曲线要​​低得多。

  1. fs_usagegrep缩小访问范围,通常让我知道问题出在哪里/何处,因此我可以采取措施进行补救/调整。
  2. 乐器应用程序-Xcode 3提供给免费开发人员或Xcode 4(在Mac App Store中购买或作为付费开发人员)。可以将其视为类固醇的样品/活性监测器-您可以四处浏览内存分配/泄漏之类的信息,并对运行缓慢过程中发生的事情有更全面的了解。

1

Finder的高CPU使用率困扰了我几周(80-100%)。最终,我发现这是由于我设置了Finder才能计算文件夹中的所有大小。默认情况下未启用此选项,但值得以防万一

  1. 打开查找器
  2. 从菜单栏中,选择查看->显示查看选项
  3. 确保未选中“计算所有尺寸”
  4. 点击“用作默认值”

完成此操作后,我发现Finder的CPU使用率立即下降到0%。


1

我使用的是MacBook,OSX 10.6.8。在风扇的陪伴下,我也经历了无数的“ Finder CPU异常”。控制台会报告各种令人费解的投诉,经常会重复出现(其他情况也会导致风扇旋转,并且控制台会显示多次重复的投诉)。

最近,我发现关闭机场可使Finder保持安静。这不是一个非常有用的解决方法,因为现在我要开机场,所以我可以在这里,是的,活动监视器显示Finder消耗了100%以上的CPU [无论是什么?


1

将查找器>首选项>常规“新查找器窗口显示”选项更改为“我的所有文件”以外的任何内容。这很有帮助。

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.