High CPU utilization due to Firefox in El Capitan 10.11.4 I am using Firefox with 10-14 open tabs (AWS console, JIRA, GitLab, etc).My Mac hangs due to high CPU utilization by Firefox as per Activity Monitor. Can someone help me with this.

Github Gist link to firefox sample from Activity Monitor: Firefox Sample from Activity Monitor

Dmesg Logs

My Macbook configuration is:


MacBook Pro (Retina, 15-inch, Mid 2015)
2.5 GHz Intel Core i7
16 GB 1600 MHz DDR3
AMD Radeon R9 M370X 2048 MB
Firefox version is 46.0.1
Q.  My Mac hangs due to high CPU utilization by Firefox as per Activity Monitor. Can someone help me with this.

A.  Cache/permissions would explain the logs.

I'm not sure that high cpu is what is causing the problem, it might be a symptom.

A starting point could be to boot your computer, see which errors do not involve firefox at all, then open chrome and see if/when that generates an error, and then one by one open the websites slowly.  That way you can isolate what come from the system, what come from the browser and what errors come when you have everything running.

There are 3 things that are apparent in the logs at first glance.  The first is a Chrome issue, the second seems to be a permissions issue, and the last one (mdns) might be unimportant but it seems to occur quite frequently.


  Google Chrome He[94343] triggered unnest of range
  0x7fff95a00000->0x7fff95c00000 of DYLD shared region in VM map
  0x28972ae0d1d3028b. While not abnormal for debuggers, this increases
  system memory footprint until the target exits.
  
  Sandbox: coresymbolicatio(94393) System Policy: deny(1)
  file-write-create /System/Library/Caches/com.apple.coresymbolicationd
  
  Sandbox: com.apple.Addres(94386) deny(1) network-outbound
  /private/var/run/mDNSResponder



The first issue might eventually require a fairly easy re-install of chrome.
The second is a permissions issue regarding cache.  That is the one that might be the most serious.  Any unusual permissions changes might be responsible for this.  Take a look at this document from apple support on how to diagnose and fix that.
https://discussions.apple.com/message/29625454#29625454
And there are outbound messages that probably should exist or else they should not be denied regarding mdns.  There are different ways of tracing where this comes, but the key would be to fix system and user issues that exclude browsers, then deal with the browser / website / chat client / networking part.


It is the first 2 issues that are most relevant I believe.  If you fix the issues in your log and get the applications working without errors, that would be the first step before looking at limiting the processes.



Once things are running smoothly, nice is something that might be very useful for you.  Cpu limit should not be necessary but I will include it also.

A. Nice  (lowering the priority)

You can also launch the program with a higher "nice" value (lower priority).
https://superuser.com/questions/42817/is-there-any-way-to-set-the-priority-of-a-process-in-mac-os-x

Information about nice levels:
https://en.wikipedia.org/wiki/Nice_%28Unix%29



A.  You can limit your CPU utilization

You should use cputhrottle through homebrew:
Can I manually limit the %CPU used by a process?

There is a script for OS X:
http://hints.macworld.com/article.php?story=20110131001708255