macOS Finder Performance – Fix Slowdown and Beach Balling

findermacosperformance

I am experiencing the following issue in Finder on OS X Yosemite 10.10.5.

After working for sometime heavily on it, usually about 10-15 minutes, navigating in directories, moving/copying renaming files, it starts becoming slower and slower, and the spinning wheel starts appearing, making the whole process of working with it too slow.

I am working on a MacBook Pro 2009, with SSD from Crucial, 8 GB RAM. I have reset permissions, checked for the files structures on the disk, tested the SSD for possible problems with disk utilities/diagnostic software, deleted Finder preferences. The issue started only recently and didn't have such issues in the past.

If I restart the computer, Finder is working fine again, until I 'll start to work intensively with it again.

I have the Finder spin logs available if anyone would like to have a look on them.

Command:         Finder
Path:            /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder
Version:         10.10.5 (10.10.5)
Build Version:   1
Project Name:    Finder_FE
Source Version:  932006003000000
PID:             459

Event:           spin-lite
Duration:        4.50s (process was unresponsive for 2 seconds before sampling)
Steps:           46 (100ms sampling interval)

Hardware model:  MacBookPro5,4
Active cpus:     2

Fan speed:       1996 rpm

Heaviest stack for the main thread of the target process:
  46  start + 1 (libdyld.dylib + 13769) [0x7fff8ca3b5c9]
  46  ??? (Finder + 25186) [0x10c592262]
  46  NSApplicationMain + 1832 (AppKit + 12868) [0x7fff81629244]
  46  -[NSApplication run] + 594 (AppKit + 551667) [0x7fff816acaf3]
  46  -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 346 (AppKit + 593496) [0x7fff816b6e58]
  46  _DPSNextEvent + 978 (AppKit + 596139) [0x7fff816b78ab]
  46  _BlockUntilNextEventMatchingListInModeWithFilter + 71 (HIToolbox + 205099) [0x7fff8118c12b]
  46  ReceiveNextEventCommon + 179 (HIToolbox + 205294) [0x7fff8118c1ee]
  46  RunCurrentEventLoopInMode + 235 (HIToolbox + 206191) [0x7fff8118c56f]
  46  CFRunLoopRunSpecific + 296 (CoreFoundation + 465880) [0x7fff8bafdbd8]
  46  __CFRunLoopRun + 872 (CoreFoundation + 467336) [0x7fff8bafe188]
  46  __CFRunLoopDoObservers + 368 (CoreFoundation + 524416) [0x7fff8bb0c080]
  46  __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 (CoreFoundation + 524583) [0x7fff8bb0c127]
  46  __83-[NSWindow _postWindowNeedsDisplayOrLayoutOrUpdateConstraintsUnlessPostingDisabled]_block_invoke1540 + 46 (AppKit + 8167793) [0x7fff81df0171]
  43  _handleWindowNeedsDisplayOrLayoutOrUpdateConstraints + 936 (AppKit + 607858) [0x7fff816ba672]
  43  -[NSWindow displayIfNeeded] + 236 (AppKit + 608777) [0x7fff816baa09]
  43  -[NSView displayIfNeeded] + 1876 (AppKit + 610734) [0x7fff816bb1ae]
  43  -[NSView _displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:] + 2761 (AppKit + 906891) [0x7fff8170368b]
  43  -[NSThemeFrame _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 333 (AppKit + 922355) [0x7fff817072f3]
  43  -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 6043 (AppKit + 929696) [0x7fff81708fa0]
  43  -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 913 (AppKit + 924566) [0x7fff81707b96]
  43  -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] + 1875 (AppKit + 933114) [0x7fff81709cfa]
  43  -[NSView _drawRect:clip:] + 397 (AppKit + 935816) [0x7fff8170a788]
  43  -[NSView(NSLayerKitGlue) _drawRectAsLayerTree:] + 517 (AppKit + 961624) [0x7fff81710c58]
  43  CA::Transaction::commit() + 390 (QuartzCore + 58286) [0x7fff8d7913ae]
  43  CA::Context::commit_transaction(CA::Transaction*) + 242 (QuartzCore + 58898) [0x7fff8d791612]
  43  CA::Layer::layout_and_display_if_needed(CA::Transaction*) + 35 (QuartzCore + 61057) [0x7fff8d791e81]
  43  CA::Layer::display_if_needed(CA::Transaction*) + 603 (QuartzCore + 63485) [0x7fff8d7927fd]
  43  -[_NSViewBackingLayer display] + 834 (AppKit + 401446) [0x7fff81688026]
  43  _NSBackingLayerDisplay + 617 (AppKit + 414763) [0x7fff8168b42b]
  43  CA::Layer::display_() + 1546 (QuartzCore + 70716) [0x7fff8d79443c]
  43  x_blame_allocations + 81 (QuartzCore + 120468) [0x7fff8d7a0694]
  43  ___ZN2CA5Layer8display_Ev_block_invoke + 59 (QuartzCore + 120535) [0x7fff8d7a06d7]
  43  CABackingStoreUpdate_ + 3306 (QuartzCore + 123847) [0x7fff8d7a13c7]
  43  -[NSView(NSLayerKitGlue) drawLayer:inContext:] + 108 (AppKit + 1021075) [0x7fff8171f493]
  43  -[NSView(NSLayerKitGlue) _drawViewBackingLayer:inContext:drawingHandler:] + 2407 (AppKit + 1023505) [0x7fff8171fe11]
  43  __46-[NSView(NSLayerKitGlue) drawLayer:inContext:]_block_invoke + 218 (AppKit + 1024360) [0x7fff81720168]
  43  -[NSView(NSInternal) _recursive:displayRectIgnoringOpacity:inGraphicsContext:CGContext:topView:shouldChangeFontReferenceColor:] + 1186 (AppKit + 1025865) [0x7fff81720749]
  31  -[NSControl drawRect:] + 342 (AppKit + 1028897) [0x7fff81721321]
  31  ??? (Finder + 3166554) [0x10c89115a]
  31  -[NSTextFieldCell drawWithFrame:inView:] + 238 (AppKit + 2033498) [0x7fff8181675a]
  31  +[NSAppearance _performWithCurrentAppearance:usingBlock:] + 79 (AppKit + 416440) [0x7fff8168bab8]
  31  __40-[NSTextFieldCell drawWithFrame:inView:]_block_invoke + 436 (AppKit + 2034179) [0x7fff81816a03]
  31  ??? (Finder + 964673) [0x10c677841]
  31  ??? (Finder + 966106) [0x10c677dda]
  31  -[ACCFinderInnerExtension ACCFE_drawInteriorWithFrame:inView:] + 174 (ACCFinderInnerExtesion + 22262) [0x10ccc16f6]
  31  -[ACCFinderInnerExtension getFullPath:] + 43 (ACCFinderInnerExtesion + 20080) [0x10ccc0e70]
  30  -[ACCFinderInnerExtension accProfilePath] + 62 (ACCFinderInnerExtesion + 19828) [0x10ccc0d74]
  30  -[ACCFinderInnerExtension refreshAccProfilePath] + 84 (ACCFinderInnerExtesion + 19433) [0x10ccc0be9]
  19  getPrefs(NSArray*) + 65 (ACCFinderInnerExtesion + 11106) [0x10ccbeb62]
  16  -[NSConnection rootProxy] + 68 (Foundation + 743166) [0x7fff82c866fe]
  16  _CF_forwarding_prep_0 + 120 (CoreFoundation + 706968) [0x7fff8bb38998]
  16  ___forwarding___ + 518 (CoreFoundation + 707622) [0x7fff8bb38c26]
  12  -[NSConnection sendInvocation:internal:] + 2095 (Foundation + 749052) [0x7fff82c87dfc]
  12  CFRunLoopRunSpecific + 296 (CoreFoundation + 465880) [0x7fff8bafdbd8]
  9   __CFRunLoopRun + 1371 (CoreFoundation + 467835) [0x7fff8bafe37b]
  9   __CFRunLoopServiceMachPort + 212 (CoreFoundation + 470708) [0x7fff8bafeeb4]
  9   mach_msg_trap + 10 (libsystem_kernel.dylib + 70878) [0x7fff8beb84de]
 *8   ipc_mqueue_receive_continue + 0 (kernel + 1144832) [0xffffff8000317800]

Best Answer

Quoting the relevant lines:

31  -[ACCFinderInnerExtension ACCFE_drawInteriorWithFrame:inView:] + 174 (ACCFinderInnerExtesion + 22262) [0x10ccc16f6]
31  -[ACCFinderInnerExtension getFullPath:] + 43 (ACCFinderInnerExtesion + 20080) [0x10ccc0e70]
30  -[ACCFinderInnerExtension accProfilePath] + 62 (ACCFinderInnerExtesion + 19828) [0x10ccc0d74]
30  -[ACCFinderInnerExtension refreshAccProfilePath] + 84 (ACCFinderInnerExtesion + 19433) [0x10ccc0be9]
19  getPrefs(NSArray*) + 65 (ACCFinderInnerExtesion + 11106) [0x10ccbeb62]

Did you recently install Adobe software? If so, I believe the Creative Cloud installs an "extension" to the Finder that has something to do with their Core Sync feature (not entirely sure what that is). Notice that I put the word "extension" in quotation marks, as the way Adobe achieves this is pure evil: by injecting the code into the Finder process, which can and will alter the way the Finder behaves. Like you, I found that it can bog down the Finder after a while.

I haven't found a permanent solution but this is the procedure I follow upon startup (it should last until the next restart).

  1. When the Adobe Creative Cloud menu extra appears at the top right of the screen (next to volume, date, etc.), choose to quit out of Creative Cloud.

  2. Open Activity Monitor, and locate the following background processes: Creative Cloud.app (if present), Adobe Desktop Service.app, Core Sync.app, and AdobeIPCBroker.app*.

  3. Use Activity Monitor to quit the processes in the following order:

    1. Creative Cloud.app (if it's running)
    2. Adobe Desktop Service.app
    3. Core Sync.app
    4. AdobeIPCBroker.app

    If you don't follow that order, some of them may be relaunched automatically.

  4. Then quit and relaunch the Finder.

*The full paths to these apps are /Applications/Utilities/Adobe Creative Cloud/ACC/Creative Cloud.app, /Library/Application Support/Adobe/Adobe Desktop Common/ADS/Adobe Desktop Service.app, /Applications/Utilities/Adobe Creative Cloud/CoreSync/Core Sync.app, and /Applications/Utilities/Adobe Application Manager/IPC/AdobeIPCBroker.app