8

I performed a fresh install of OS X 10.9 and now the process com.apple.iconServicesAgent is using >300MB of RAM, that is quite a lot. This process is using the second most amount of memory of all processes, after the kernel task.

Google tells me that other people have this problem, too, but I found no solution so far.

Is there any way to reduce the RAM consumption of this process?

  • what if i kill the thread...... – user89564 Sep 3 '14 at 14:10
  • Is there any memory pressure on this system? Parts of the OS are designed to use a large portion of the RAM when it's not otherwise needed to speed things up. Would you post a screen shot of the Activity Monitor's display at the bottom of the Memory tab? Looking at Physical Memory / Used / pressure and the amount of App/File Cache and Wired Memory is needed to diagnose any RAM usage concerns. – bmike Sep 3 '14 at 14:45
10

Observations

You may observe natural rises and falls in usage.

You should not treat the usage as a problem.

Background: about icon services

For an idea of what's done by icon services (the com.apple.IconServices daemon, com.apple.IconServicesAgent processes and related files), run the following command in a Terminal window that's maybe 257 characters wide, or wider:

sudo fs_usage -w -f filesys com.apple.IconServices | grep write

Then in Finder:

  1. browse a folder that has not been browsed since you started the Mac
  2. browse away
  3. browse back to the same folder.

You should find that:

  • the initial browse causes writes (to a cache)
  • second and subsequent browses cause no additional caching, for as long as the contents of the folder are unchanged.

To abort the command, Control-C

For an unfiltered view of things:

sudo fs_usage -w -f filesys com.apple.IconServices

Benefits of icon services in Mavericks

It seems to me that Apple's approach to caching icons is of particular benefit to apps/processes where primary functions include reading metadata from a variety of types of file system. Apps such as Finder, processes such as Dock, and so on.

As part of a broader approach to maximising performance, icon services should allow presentation with minimal delay of the subset of metadata that is of greatest interest to the user.

For the Recent Applications stack in Dock: probably names, icons and dates/times as essentials within a subset.

For views in Finder: subsets may be entirely different, depending on what's required by the user.

Additional thoughts

In HFS Plus (Mac OS Extended), with reference to retired documentation, we have the performance-oriented hot file B-tree, attributes file and so on. With everything else that has been done to that file system, it is now debatably over-extended.

The performance-related benefits of icon services should be relatively file system-agnostic. This is pleasing. I expect the benefits to be realised by users of ZFS on Mavericks, and so on …

  • When the iconservicesagent is taking up 20+ GBs I'd say it is a problem. This is easily repeatable on all my Macs. I have a directory of movies on an external drive. I open the folder in Finder and iconservicesagent begins to climb into the sky. Shortly afterwards, Finder goes into 'not responding' mode. All of these movies have their thumbnails as movie poster art. If I were to delete all the custom pasted thumbnails, iconservicesagent returns to its normal behavior. – sprotsman Oct 26 '18 at 21:17
4

It seems to be something to do with the service that renders icons in Finder, when mine maxed out cpu no icons were rendering in finder.

I force quit the process and reopened Finder and all seemed well again.

  • Forcing com.apple.IconServicesAgent to quit may be masking, or simply, deferring an underlying problem. A problem not with the agent, but with data that the agent tries to handle. – Graham Perrin Dec 8 '13 at 6:07
  • 2
    I'm very much with @GrahamPerrin on this. Complaining about iconservicesagent doing too much is literally "shooting the messenger" - the system services provide data to apps that run. If you quit all apps and reboot the OS - see what the ram allocation of com.apple.IconServicesAgent is and then you can watch as it grows when the system and other apps are asked to draw icons on the screen. Once you've gathered the initial RAM allocation you can track things to see if there is memory pressure to cause this cache to start to thin itself. – bmike Sep 3 '14 at 14:43
  • 1
    I think killing the process is fine, if it doesn't hurt anybody and makes the user happier. It probably just doesn't release resources fast enough (or at all) after some intensive operation. For the curious, there's also gist.github.com/walesmd/7315613 - I wouldn't recommend following those instructions though, unless the agent always takes up lots of memory. – Nickolay Jun 14 '15 at 20:04

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .