Setting CPU Priority on NT/Citrix? 48
Broue Master asks: "I was recently faced with the task of finding a way to prevent some users from taking 100% cpu time in Citrix. I'm no MS certified anything (but I am a Citrix certified admin) and I couldn't find a built in way to do this. After someone on the NTSysAdmin List suggested trying to set the CPU priority to low from the command line, I investigated and found a small freeware that did the trick: PrioSet. I don't have a big user base: 3 power users (who are my problem with their Access and Excel use) and 10 regular users (and the people most affected by the problem). I'd like to know if any of you have previously tried this software, or if you've run into the particular problem when one user is getting 99% of the CPU for a long time while all other users only share the spare 1%. Did the software solve the problem or did you solve the situation by other means?"
i thought it said 'selling CPU time.... (Score:2, Interesting)
Though if you could find a way to do that, you might be able to convince your 'power users' to mind their manners. How about a contest every week...whoever uses the least CPU gets free beer?
Re:i thought it said 'selling CPU time.... (Score:1)
command line (Score:3, Informative)
Type start
Re:command line (Score:2)
Re:command line (Score:2)
Easy (Score:3, Informative)
Another route may be to move the access database to an RDBMS, which may use less CPU horsepower than using Access as a client/server.
archeology (Score:2, Funny)
just kiddin'
Re:archeology (Score:1)
Comment on what you want, your only an Anonymous Coward so I won't waste any more time !
Might not apply, but (Score:4, Informative)
If the problem is 16 bit DOS apps, Tame [tamedos.com] can help.
Also, when you installed Office, did you run the appropriate app-tuning script afterward? (Search in x:\wtsrv for *.cmd and you'll find a whole bunch of them.) These scripts can make a big difference with certain versions of Windows.
You might also try the MetaFrame Installation and Tuning Tips [thinplace.de]. You might find a more recent version if you dig around.
Re:Might not apply, but (Score:1)
Re:Might not apply, but (Score:2)
I used X: as a variable since I don't know on which drive his %systemroot% folder is located. Citrix allows you to remap the local drive letters (C, D, E, etc.) on installation to something that won't conflict with the client PC's (M, N, O, etc.). This is taught in the Citrix cert classes, so he'll be aware of it.
I guess on second thought, I should have sent him to search %systemroot% and avoided the issue, but I haven't managed a Citrix network in a few months, so I'm a bit rusty.
Re:Might not apply, but (Score:1)
I knew what you were tyring to say, just trying to make a dumb joke.
[hangs head in shame]
Re:Might not apply, but (Score:2)
Re:Might not apply, but (Score:2)
Uhh, yes they do, just not the kinda of apps *everyone* uses.
Thankfully, they are in fact dying off, however slowly.
mmmm (Score:1)
seany
Dear Slashdot (Score:1, Funny)
ulimit? jeez (Score:1)
How many DECADES have unices had ulimit support working by default? Wake up Micro$loth, here's another innovation you're completely missed the boat on.
Re:ulimit? jeez (Score:1)
Windows NT/2000 scheduler works at the thread granularity and not at the process granularity.
A thread's priority can change dynamically in Windows NT/2000!
And Windows NT/2000 uses in total 32 priority levels (16 real-time, 15 variable levels and 1 system level).
Please check facts first before bashing Windows NT/2000.
Re:ulimit? jeez (Score:3, Informative)
Thus, if they run an app for some time (e.g. over a few days) they might run up 30 minutes total CPU time with no real problems. On the other hand, someone could start an app, peg it at 99% for 10 minutes and completely hammer the server.
Operating systems like Solaris have add-ons to achieve system limits like CPU allocations to individual users/groups, but that is NOT ulimit.
Re:ulimit? jeez (Score:2)
Fair enough. I was quick to reply, and ulimit cpu limits aren't quite what the guy is looking for. I bet if there was sufficient demand for such a thing, this could be hacked in as another setrlimit (ulimit) value with minimal effort.
Just to continue being a "12 year old microsoft basher" as the AC response put it: Maybe we haven't seen a need in unix because schedulers work better there, and apps are better behaved?
Re:ulimit? jeez (Score:2)
why are you asking this here? (Score:4, Insightful)
you paid for licenses and support, now go get your money's worth. why are you asking a bunch of (mainly) free software people who probably don't know the best answer?
and if you think we do, why don't you use the software we use?
Re:why are you asking this here? (Score:2, Funny)
Task Manager (Score:1)
Throttle the processes programmatically (Score:2, Informative)
As long as the suspensions are done quick and often there is usually no visible difference, except that the process takes a lower percentage of cpu time. Admittedly I've only used this sytem before to make processes self throttling, but there is no reason why it shouldn't work for third party processes.
Obviously it would take a bit of tuning to get right, particularly if the access processes aren't competing with anything else most of the time, but it shouldn't take more than a hundred lines of code.
Erm, yeah, or you could just run them at a lower priority.
Re:Throttle the processes programmatically (Score:4, Informative)
This API allows you to set per-process limits on cpu, memory, user mode execution time, min/max working set, processor affinity, thread priority, UI restrictions, and security restrictions.
I believe that Win2k Datacenter Server comes with a Job Object MMC for creating Job Objects / adding processes to a Job Object.
Re:Throttle the processes programmatically (Score:2, Informative)
AFAIK they work on any W2k or higher machine, but I could be wrong; I don't think I use any machines that aren't server (rather than pro) for my stuff.
Re:Throttle the processes programmatically (Score:2, Informative)
A similar problem (Score:4, Interesting)
Apparently, users used Shift + arrow key to switch to another virtual desktop. Unfortunately Excel went into a busy loop after the Shift key was pressed (it was busy waiting for the next key) and stayed there until the user switched back to the Terminal Server window. This resulted in Excel taking the entire CPU.
Not the answer you are looking for (Score:2)
Unless they really need to jump from desk to desk, I'm sure they'd get much better performance, and the other users would be happier too.
Re:Not the answer you are looking for (Score:2)
There's also the issue about licenses; while there may be licences for the server, buying licenses for all the clients might be expensive.
Re:Not the answer you are looking for (Score:2)
Ask your vendor (Score:1)
If you've got money to spend... (Score:1)
Setting CPU Priority on NT/Citrix? (Score:1)
Likewise Excel can be a CPU hog or a disk hog, depending on what people are using it for, keeping lists of things or doing monster LP problems.
How is the citrix server set up, does it contain all the apps and user data or is some off loaded onto other networked servers? I would suggest you need 300MHz of CPU per a user so for example 10 users=3GHz, say 2x1.5GHz Xeons/P4's, and at least one m/c to store user either user data on OR the applications i.e. seperate them to help avoid disk bottlenecks
Citrix/Terminal Server/Thin client resources (Score:1)
There are a lot of methods to calm down CPU-hogging apps. Some can be tamed by registry settings, others by utilities (like Tame), and others by server tuning apps like TScale, made by RTO Software [rtosoft.com].
All of these things are discussed on TheThin.Net [thethin.net] website (and the associated mailing list), considered by many to be the best source of freely-available thin client computing info on the 'net. I suggest you check it out, and read the FAQs and archives.
-Jeff Gunn