Jump to content
Welcome to our new Citrix community!
  • 0

XenApp 7.6 high memory resources

Jan Cauwenbergh1709152054




We are planning on upgrading our 6.0/6.5 customers to 7.6.  The only thing stopping us is the significant higher memory consumption we see on 7.6 and 7.5 servers.  


On 6.5 servers there are no Citrix services in the top 10 of memory consumers.  If you look at a 7.6 or 7.5 server, you see that the top 10 memory consumers are almost all Citrix services (see attached picture).


Are we using a wrong config or is this 'normal'?





Link to comment

14 answers to this question

Recommended Posts

  • 0

That's normal.


The broker services are coded in .net and using WCF, and .net likes to keep hold of memory as free within the .net processes, and so appear to have higher memory footprint (if the memory is available)  As it works on the idea that it needed it once, and might need it again.


If there was memory pressure on the system .net should return the free memory to the system.


Note this doesn't mean there aren't cases where the amount of memory would be a concern.


So for that screen shot I'd say "normal" usage.



Link to comment
  • 0

Still seeing this issue and other RAM leaks / .NET taking up free reources with several of the Citrix services with LTSR . That Citrix XenApp 7.6 is using 1 GB of RAM compared with less than 300 KB for XenApp 6.5 .  

Has anyone any seen this high RAM utilization with 7.9


When you say, 1GB of RAM, what service is that?



Shaun Ritchie



Link to comment
  • 0

Have you tried altering the app.config for the services to disable serverGC. Note I'd leave the broker in the default config with serverGC enabled.


IE change the line:

<gcServer enabled="true" />


<gcServer enabled="false" />


It was enabled for the broker as it's heavily multi-threaded, and benefitted from the server version of gc, the other services probably get less benefit.


As for multi-cpu changing behaviour, on single cpu .net always uses workstation gc (even when configured for servergc)


Only on multi-cpu does servergc kick in.  Once we have multiple cpus each cpu has it's own memory heap, and so the memory consumption can seem high.  In theory .net should return the memory if the system is under memory pressure.

  • Like 2
Link to comment
  • 0

The resolution mentioned above resolved our issue.

The config file is in  "C:\Program files\Citrix\$citrix_Srvc_name$\$citrix_Service_name.exe.config"


IE "C:\Program Files\Citrix\Host\Service\Citrix.Host.exe.Config"


Then the Citrix service in question needs to be restarted.


****** Citrix recommends against changing the Citrix Broker service.


Per our Citrix ticket, Citrix will not be resolving this anytime soon since this is due to the design of dotNet .NET  .

This issue should also occur with all versions of XenApp /XenDesktop that use .NET  dotNet

Thus 7.5 , 7.7, 7.8 , 7.9 , 7.11 etc. 


We have seen this resolve our RAM issue but we have not tested this with systems with significant user load. Use at your own risk.

  • Like 1
Link to comment
  • 0

It may change in future release, as I think we shouldn't have it enabled for all services, as clearly it's adding to the memory footprint for no good reason.


The broker is by far the most concurrent service and benefits from not having to contend for memory the most, the other services copied this change, but perhaps they shouldn't have.

  • Like 1
Link to comment
  • 0

I believe that this is still an issue. But as time has passed less of one.

Still seeing over 800 MB of RAM being used with 1912 LTSR cu1 and server 2016 

A/  servers have more RAM now

B/ this is only an issue for delivery controllers.


Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...