Looks like no one’s replied in a while. To start the conversation again, simply ask a new question.

Why is diagnostics agent "inherently inefficient?"

I have a clean install of 10.11. When I boot the system in my own admin account, with no login services enabled, nor any internet or cloud accounts enabled (e.g., Messages, Facetime, Mail, Calendar, etc.), I see on Console the following message:


10/4/15 2:12:08.104 PM com.apple.xpc.launchd[1]: (com.apple.diagnostics_agent) This service is defined to be constantly running and is inherently inefficient.


My question should be very simple to answer for folks who have more experience with the OS than me: Why does this service exist if Apple's own OS admits that it is "inherently inefficient?" If it is "inherently inefficient," then how can users disable it without having other services flip out or register warnings/errors on Console?


N.B., there are other services that have the same message in Console, like AirPlayUIAgent:

10/4/15 2:12:08.097 PM com.apple.xpc.launchd[1]: (com.apple.AirPlayUIAgent) This service is defined to be constantly running and is inherently inefficient.


I can't be certain, but I think this same behavior occurred on Yosemite as well--i.e., I don't think it's an El Capitan specific issue. Help understanding these messages and this functionality is appreciated. Help disabling or altering them is also appreciated.

MacBook Pro (13-inch Mid 2012), OS X Yosemite (10.10.5), OWC Mercury Electra 3G 240gb SSD

Posted on Oct 4, 2015 2:31 PM

Reply
5 replies

Oct 4, 2015 3:38 PM in response to John Galt

If you wish, you can disable sending diagnostics and usage data to Apple in System Preferences > Privacy.

That was one of the first things I did when I did a clean install... and yet, the service persists?

I do not believe you can disable AirPlay.

I believe I had success doing this in Yosemite. Doing `launchctl list` shows com.apple.AirPlayUIAgent with PID of 293. Doing `sudo launchctl procinfo 293` shows several properties that suggest it might be fully removable; even though I have disabled AirPlay through System Preferences, the procinfo command shows properties of keepalive=1 and runatload=1. Also, there is a final property of system service=1. Supposing that one temporarily disables SIP, one should be able to remove the service by changing the values to 0. However, I recall seeing a post somewhere (can't find it now) that mentioned doing this, but having to repeat the unload/remove process on terminal every time the user reboots--i.e., the changes don't persist. Then, there are also these suggestions, but--correct me if I'm wrong--doing a chmod to the files would seem to cause calling errors on Console.

Oct 4, 2015 2:54 PM in response to ayiti2015

Those log entries are intended for use by Apple's programmers. You will find a number of them on occasion, not just those related to AirPlay or diagnostics_agent.


They do not contribute to any significant performance degradation and can be ignored. If you wish, you can disable sending diagnostics and usage data to Apple in System Preferences > Privacy. I do not believe you can disable AirPlay.


There are several others that El Cap will categorize as "inherently inefficient". Perhaps Apple's programmers will rewrite them in the future, perhaps not. You will drive yourself up a wall if you start to concern yourself with such minutia. For one extreme case read Re: What's wrong with my computer console?

Oct 4, 2015 7:40 PM in response to ayiti2015

The inefficiency refers to energy usage. Since it never shuts down and runs constantly, there is no efficiency by definition (theirs). From your statements, I assume your definition of efficiency is different than Apple's definition of process efficiency.

It is also not there solely to send information to Apple. It monitors the other processes and logs what it finds. You can read the logs in the Console App.

Oct 4, 2015 6:08 PM in response to ayiti2015

ayiti2015 wrote:


If you wish, you can disable sending diagnostics and usage data to Apple in System Preferences > Privacy.

That was one of the first things I did when I did a clean install... and yet, the service persists?


The diagnostics service will run whether you elect to send its data to Apple or not.


... Doing `launchctl list` shows com.apple.AirPlayUIAgent with PID of 293. Doing `sudo launchctl procinfo 293` shows several properties that suggest it might be fully removable; even though I have disabled AirPlay through System Preferences, the procinfo command shows properties of keepalive=1 and runatload=1. Also, there is a final property of system service=1. Supposing that one temporarily disables SIP, ...


.... etc.


OMG. You are determined to concern yourself with such minutia after all. Enjoy.

Oct 4, 2015 8:44 PM in response to Barney-15E

I assume your definition of efficiency is different than Apple's definition of process efficiency.

Maybe, but from a pragmatic perspective, perhaps not. To quote William James, "If no practical difference whatever can be traced, then the alternatives mean practically the same thing, and all dispute is idle." The service is deemed "inherently inefficient," which is to say that its inefficiency inheres in its quality of always running. I think we would agree that it could be for any number of reasons, all of which are beside the practical point that it is inherently inefficient because it is always running, right? So for these items, what methods are available to the user who wishes to disable the services or to make the services not constantly running?

It is also not there solely to send information to Apple. It monitors the other processes and logs what it finds. You can read the logs in the Console App.

I do not know the intricacies of how this works. Does it take many services to accomplish this? Is diagnostics_agent, then, a part of the ASL services? Do they work in tandem?

Why is diagnostics agent "inherently inefficient?"

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple ID.