FAQ: The CPU Utilization Management Feature

Citrix states in their article: CTX106021

Document ID: CTX106021, Created on: Apr 22, 2005, Updated: Oct 21, 2005

Products: Citrix Presentation Server 4.0 for Microsoft Windows 2000, Citrix Presentation Server 4.0 for Microsoft Windows 2003 , Citrix Presentation Server 4.0 x64 Edition, Citrix Access Essentials 1.0

Summary

CPU Utilization Management is a new feature introduced with Citrix Presentation Server 4.0. This FAQ article covers the feature in depth.

Q: What is the CPU Utilization Management feature designed to do?

It is a feature of Presentation Server 4.0 designed to give each user a fair share of the CPU by modifying the normal job priority scheduling in the operating system. CPU time will be allocated fairly across all users on the server. It normalizes the CPU usage of each user by smoothing out the normal CPU peaks that most applications have. It will limit very CPU-intensive applications to a fair-share of the CPU, so that one user does not inadvertently have an inappropriate adverse affect on the other users. This enables administrators to easily calculate how many users can fit on a machine at once and hence how many machines must be purchased.

Q: What is a Share?

A Share is a relative percentage of the CPU that each user receives. By default each user is assigned 8 shares. The percentage of CPU time that a user gets is relative because it is dependent on the number of users that are logged into a particular server. For example, if there are 4 users logged into a system and each user has 8 equal shares, that means each user receives 25% of the CPU. If there are 10 users logged on, each user receives 10%. This is a “soft limit”, and if the user is not using all of their CPU time, other users can borrow it. Likewise, it can borrow from other users as well if needed and if CPU time is available.

Q: What is a Reservation?

A CPU reservation sets aside a specific percentage of the CPU that will always be made available to the user if needed. This is a “soft limit” and if the user is not using all of their CPU time other users can borrow it. By default 20% of the CPU has been set aside for the System Context which leaves the remaining 80% to be divided into shares.

Q: What Edition of Presentation Server supports this feature?

Citrix Presentation Server 4.0 Enterprise Edition and an Enterprise Edition license file must be on the license server.

Q: How does the CPU Utilization Management feature work?

It is enabled in the Presentation Server Console in the farm or server properties under Memory/CPU Utilization Management. Once the feature is enable the “Citrix CPU Utilization Mgmt/Resource Mgmt” service and the “Citrix CPU Utilization Mgmt/User-Session Sync” service start up. The “Citrix CPU Utilization Mgmt/Resource Mgmt” service does the following: it monitors users and processes, calculates load, and makes OS calls to set the CPU priority of processes. The “Citrix CPU Utilization Mgmt/User-Session Sync” ensures that all processes associated with a user’s session get associated with that user when determining load. This service is necessary to keep track of processes that normally run under the system context such as CSRSS.exe and winlog.exe, and to make sure that they are reported under the correct user session for load calculation.

Q: How can I verify how much CPU each user is using?

You can use Performance Monitor to see the Average CPU usage for each user session. There is a new Performance Monitor object called “Citrix CPU Utilization Mgmt User” with five specific counters called CPU Entitlement, CPU Reservations, CPU Shares, CPU Usage, Long term CPU Usage that should help an administrator verify the functionality of the feature. You can also use the CPU Optimization Report in the Report Center in the Access Suite Console to create a report detailing CPU Usage per user. This report does require a connection to a Resource Manager Summary database.

Q: Can I assign more CPU Shares or create a Reservation for a user?

Yes. The default share for each user is 8 and a default reservation of 20% has been set aside for the System Context. Modifying the default values is not necessary however if an administrator chooses to do so they can go to HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\CTXCPU .

To assign a user a specific number of shares under the value add:

Domain\u1,cpu.shares=# (where # represents the number of shares to be assigned).

To create a reservation for a user under the value add:

Domain\u2,cpu.reservation=# (where # represents the percentage in thousands. For example, 10%=10000).

Once changes have been made to the CTXCPU key in the registry, for the changes to take effect, restart the “Citrix CPU Utilization Mgmt/Resource Mgmt” and the “Citrix CPU Utilization Mgmt/User-Session Sync” services. To verify that the changes are in effect, use Performance Monitor with the object and counters specified above.

When modifying the registry key the format is very important. The user name has to be written domain name or the server name\username. Shares can only fall in the range from 1-64. A reservation’s percentage is represented in thousands. The maximum value that can be assigned for a reservation equals the number of processors in the server. For example, a quad processor machine would have a maximum value of 400,000. An administrator needs to do their own base line testing to find out what numbers would achieve the required performance.

Q: Can I assign more CPU Shares or Reservations to a group?

No. You can only assign shares and reservations to users not groups.

Q: Can I assign Shares or Reservations for applications?

No, not with this feature. You can use the CPU prioritization setting in the properties of each published application to set the application’s CPU priority level to Above Normal, Below Normal, and so on.

Q: Are the services “Citrix CPU Utilization Mgmt/Resource Mgmt” and “Citrix CPU Utilization Mgmt/User-Session Sync” dependent on the IMA service?

Yes. Both services are stopped and started by the IMA service once the feature is enabled or disabled. When looking at the properties of the services in the Services Manager you will see that they are set to manual because they are controlled by the IMA service. However if the IMA service fails to start then both services will not be automatically started but they can be started manually. Restarting the IMA service does not restart either of the two services.

Q: Is there a list of applications that are incompatible with this feature?

No. All applications should function with this feature.



Primary links

Custom Search

Who's new

  • Rullydery
  • eagenorce
  • rittaarier
  • swasseZex
  • gaterfoko

Who's online

There are currently 0 users and 4 guests online.

KrissysCorner.com RuthSwensonLaw.com CreativeLizardProductions.com

DISCLAIMER:

None of this has anything to do with us, someone else is responsible for the entire thing, and we have no idea who or why. We do not know anything about it. It may be alien life forms for all we know: we haven't a clue. You cannot blame us for anything that may result from your visit. That was entirely your own personal choice, made by you of your own volition, and without our knowledge. We do not, after all, have any control over you and cannot by any stretch of the imagination be expected to accept or acknowledge, be it legally or morally, any accountability for decisions made by you on an independent basis, utilizing your own free will, and without our intervention. We are therefore in no way, shape, or form answerable to anyone for any consequences arising from the aforementioned or indeed any other actions, similar or otherwise, because it was not us that did, or did not do anything. It is not even remotely our fault, and we are in no way prepared or willing to accept any liability, not even slightly, ever. We are, in fact completely and utterly blameless, in that it is definitely not our concern, and no blame can possibly be laid at our doorstep, even if we had one, the possession of which we hereby reserve as being entirely our own free choice. The onus is not on us at all, and furthermore, never has been. The entire matter is wholly beyond our control, and completely out of our hands, each of which are washed scrupulously clean of the whole business. We are not accountable for anything at all, and we hereby categorically deny all responsibility for all that has ever, or will ever happen. Our innocence is therefore wholly beyond doubt and absolutely unimpeachable, and so cannot, under even the remotest or unlikeliest circumstances, be brought into question. By clicking either on a link on this site, clicking on a link that leads to this site, or by arriving at this site by natural or supernatural means, you are in effect accepting responsibility for the fact that it is all entirely your own fault, down to the most miniscule detail, and that you are wholly accountable for whatever outcome may arise as a consequence of the aforementioned action or actions insofar as they were undertaken personally by you on an entirely voluntary basis and without any persuasion, coercion or influence from any party or parties other than yourself. Don't come sniveling to us, we are only figments of your imagination. I also agree that if I am ever with a contributor to this website during mealtimes I agree to pay for any super-sizing of their meal, or at least a nice dessert or one of those foo-foo drinks with an umbrella or a monkey. By admitting to have seen the worthless spineless drivel on this website (also known as content)

I Agree Wholeheartedly and Without Reservation to the above. (Except maybe for that part about the monkey.)

All Your Base Are Belong To Us.

Soylent Green Is People!

Never make a bet with a Sicilian when Death is on the Line!

No. Really, I do agree.