I’m being asked to tweak the performance of the BES Agent client software for a particular user. The primary complaints are that the application is too chatty and that it takes up too much CPU/RAM/Whatever when the computer wakes from sleep or at boot time. I’m really not able to challenge the user’s supposition (too many rungs in the ladder between them and me) and they’ve got no hard data to back them up. In addition, for this user, the client is really only used as a reporting and inventory tool; nobody is going to be pushing actions to this user’s device and it doesn’t necessarily have to report in more than once a day.
So, all that being said, does anyone have suggestions for how to tune the client to have less impact on the user, particularly during boot/wake-up? I’ve looked through the IBM Wiki page on Configuration Settings, but there are a large number of settings that are not mentioned there. I’ve also looked through @jgstew’s GitHub listing of BES_Client_Settings_Strings to see if anything looks promising. I’m also open to the idea that there may be methods outside of the client itself to improve the client behavior.
If the client is going to be used for inventory only, then a very different set of settings should be in place for this use case. I have been meaning to create clientsettings.cfg and tasks to set what I think makes the most sense for an inventory only client.
These are like recommended settings to make the client more aggressive on first provisioning.
The client should be set to delayed autostart which should prevent resources from being consumed at boot time until late in the process. If it is not set that way already, it can be with a task.
Power save enable tells the client to stop its eval loop for a time if nothing is changing, then start it up again after a delay. I believe the default delay is 10 minutes for when on AC power / fully charged battery, but it automatically increases the delay as the battery level decreases. This setting makes a big difference for laptop battery life as well as reducing idle CPU usage on VMs and Docker containers. I’m starting to think this should be enabled almost everywhere since it still allows the client to respond to incoming actions / notifications. I am starting to use this much more widely.