Permanently Set Process Priority in Windows? 125
Dave asks: "I have a render farm set up for 3D Studio Max. I have a Render user that runs 3dsmax.exe when it is sent jobs by the render farm server. I have tried to set the process to low when it runs, and it works. However, when the computer is finished rendering the images, and is sent a new set to render, the priority goes back to normal (program closes in between renderings). This obviously defeats the purpose of rendering an image in the background while others are still working, as you can imagine having 3dsmax.exe pegged at 100% CPU, slows down the machine tremendously. Is there anything that can be done to set the render user's instance of 3dsmax.exe permanently to low? Or is it possible to just set 3dsmax.exe to the low priority. I know there is a command line that sets any .exe to low, but that also starts the program. I would like 3dsmax.exe to be set to low either: when render launches the program, or set 3dsmax.exe to low whenever it is launched. Can anything be done?"
start /low (Score:5, Informative)
'start
Re: (Score:2, Informative)
I had thought that SysInternals had something to do this with command line, but was unable to find it. There's this third party tool which claims to be able to change the priority of a running process, but I've never used it to vouch for it: http://www.teamcti.com/pview/prcview.htm [teamcti.com]
Sorry for the likely helpless quick-post. I should drink coffee either before or after reading, not at the same time!
Re: (Score:2, Informative)
Re: (Score:3, Informative)
At that rate, he should be able to edit the file type association to invoke the program itself.
Re: (Score:1)
Windows System Resource Manager [microsoft.com]
Re: (Score:2)
Priority Master? (Score:1)
Prio - Process Priority Saver (Score:5, Informative)
Re: (Score:2, Insightful)
I'd say write an app which looks for 3dmax.exe processes at frequent intervals and sets them to low. With cygwin it'd take a couple of minutes to write a shell script. Do anything but don't use 'Priority Saver Deluxe Edition v10 for only $19.99', these companies exist because of ignorance/laziness and PageRank bots.
Re: (Score:3, Insightful)
Re: (Score:2)
Re: (Score:2)
Well... When that program solves a problem with a solution already included with the base OS (ie, just change your shortcut to "start
As an aside, I wrote a very similar program back in the Win2k days, as it didn't support setting process affinity on the
Re: (Score:1, Insightful)
Free software is never without cost though. If I have a problem that can be solved in 5 minutes by spending $19.95 that's a heck of a lot cheaper than spending an hour of research and testing to find and set up or write from a scratch a good OSS solution.
Or, to put it another way, I'm very willing to pay somebody else $19.95 to do that research and testing for me
Re: (Score:1)
This is like saying commercial software always costs more than the invoiced price.
Re: (Score:2)
Also very true and succinctly said!
(If I ever write a book of IT wisdom I will have to include that.
Re: (Score:2, Insightful)
But, if you have "a problem" there *may* be a $19.95 solution that will work perfectly. But, just because it's $19.95 and neatly packaged doesn't mean it'll necessarily be any
Commer
$19.95? (Score:2)
You're absolutely correct that OSS is never cost-free. Neither is commercial software, even if it's "free" (or pirated). The primary reason for using Free Software, or Open Source Software, is that you have reason to believe that it wi
Re: (Score:2)
Kind of funny.
Re: (Score:2)
I'm always blown away by the burning need people have to seperate time and money, and justify purchases based on one or the other, but rarely both.
Since the customer never experiences a fully transparent market, its pretty obvious that we can only base decisions on a perceived balance of money and time.
Re: (Score:2)
1) it is free for personal use
2) they do not currently have commercial terms for this product
I also wonder what kind of world you live in where you think professional programmers do not deserve to make a living from their trade. If daddy gave me 100K a year, I might think so too.
Mod parent up Prio looks like a good freeware util (Score:3, Insightful)
Now I have only had it 5 minutes so can't give an in-depth account of how it is going to behave long-term regarding stability/system resources etc. but certainly the
Re: (Score:3, Interesting)
I agree with above. For example, the following C# code works (.NET 2.0):
Re: (Score:2)
Re: (Score:2)
It would appear that Prio doesn't enjoy an x64 Edition XP environment. Darn, was looking forward to giving it a run. Thanks for the link though.
Another process question (Score:2)
I would like to be able to justify hardware upgrades by saying, "On PC #1 over a typical workday the user sees the hourglass icon X amount of time, but on new PC #2 he only sees it Y amount of time".
Thanks,
Steve
Re: (Score:3, Informative)
I looked at that (Score:2)
Steve
Re: (Score:2)
Re: (Score:3, Informative)
Thanks... (Score:2)
My situation is this: We use CAD software to design mechanical things. On slow computers, after every command input the computer has to process the command. Obviously some commands take longer than others. When this happens, the cursor turns to an hourglass and the software will not respond to user input. If you check the Perf Monitor the program will frequently list as "Not Responding".
I don't think CPU utilization will do the trick because I believe the CPU could
Re: (Score:3, Informative)
You might be able to write a relatively simple program that just periodically sends a message to the window and looks for a response; if it doesn't get it in a c
Re: (Score:2)
Re: (Score:2)
You could use CPU usage, because with a faster CPU, the app would perform its work quicker too so all in all, you'd get more done in less time. Given its single-threaded, no-UI-response, I think the CPU will probably be at 100% while its
Re: (Score:1)
Re: (Score:2)
Ding! (Score:2)
Steve
Re: (Score:2)
For that I would measure slashdot posts / day.
Re: (Score:2)
Unfortunately, not an option... (Score:2)
>much time at all giving the user an hour glass (or similar). Sure, OS X has a beachball,
>but even on a G4 I hardly see it. Question is, what are your using doing that they get an
>hour glass at all?
Unfortunately, the application in question only runs under Windows, and changing applications is not an option.
Steve
Google It? (Score:2, Redundant)
Here's the link [itworld.com]
Executive Summary:
It turns out there are several solutions to this problem. A simple approach is to use the start command to launch each job with Low priority as follows:
start
Re:Google It? (Score:4, Insightful)
Did you Google a little farther and find the answer to the question that was asked? The network rendering manager is spawning 3DSM, not somebody sitting at the computer. The start command won't work unless the network renderer is modified. What he needs is for Windows to always recognize that
Re: (Score:2)
Ah, so my elite googling skills DID save the day!
Re: (Score:2)
Nope. All that you're expected to do is understand the question before you answer.
"If the rendering manager is spawning 3DSM, why can't it spawn a batch file which spawns 3DSM in low priority mode instead?"
He can't change the code.
"Ah, so my elite googling skills DID save the day!"
Not even close. Your impression of Jim Carrey talking out of his rear, however, is spot on.
Re: (Score:1)
Wrapper (Score:5, Informative)
Re: (Score:1, Informative)
Re:Wrapper (Score:4, Funny)
Re: (Score:2)
Priority Master 2006 is the World's Best Prioritization Software 15 Times Over!"
Re: (Score:2)
nice/renice (Score:2)
Your question contains its answer. (Score:2, Insightful)
Just make an alias to 3dsmax.exe that actually invokes the one-liner you are talking of. No?
Apparently.. (Score:1, Redundant)
Re: (Score:2)
Evidently not, since your search didn't reveal a solution either. He needs the process to start up at low priority when other programs call it, not just when a shortcut is clicked. You're right, though. Google doesn't work for people anymore, especially those that don't understand the question.
Thank you, Cliff!!! (Score:2, Insightful)
Re: (Score:1)
What sort of argument does he expect to get with that attitude?
Re: (Score:2)
Re: (Score:1)
Re: (Score:1)
What about non-pageable? (Score:2)
How can I pin a process into RAM and make sure that all of its pages stay resident? I don't have source either, it's a proprietary app. The system will push it out of RAM in favor of buffercache, but that is a very sub-optimal for this guy, because he always ends up paging tons of stuff back in while the user sits there for a minute or two wondering if the thing crashed or what...
Re: (Score:2)
Seriously if a user is waiting for a minute or two for things to swap back in, and the user thinks that is too long, then the swap file is too big.
Set it to something smaller and fixed, till the user only has to wait X seconds for things to swap back in in typical/worse case, where X is considered by the users to be a tolerable amount.
IMO the people who talk about setting swap to multiples of RAM are silly. It's little to do with multiples of RAM and more the sort of apps you run
Re: (Score:1)
You can't be serious. There is no such thing as "too much swap." If there is, something is seriously broken. All I want is for the system to treat process text and data as more important to keep in RAM than buffercache. I'm not running out of RAM, it is a single 1.2-1.4GB app on a 2GB system.
Re: (Score:2)
You may be different but I believe that most people want their PCs or applications to run out of memory way before that point.
Because I believe it is rare to have a scenario where people have thousands of small/medium sized loaded applications taking up 500GB in swap, and only wake up and run once in a long while. Or one where users intentionally run a single app that ta
Re: (Score:2)
What you are talking about is not a case of having too much swap, it is a case of using too much memory.
I CLEARLY defined in my first post that I am NOT using too much memory, but that the OS is behaving stupidly and paging out the application when there is still available physical RAM. Your responses have neither addressed my original question, much less come close to
Re: (Score:2)
And in your case, too much swap is probably anything much above 0MB.
I doubt you've even tried my suggestion. If you don't like that answer well that's just too bad, your loss.
Feel free to waste your time waiting for swap and grumbling about it.
Re: (Score:1)
Re: (Score:2)
Except that Windows does it painfully (Score:3, Interesting)
I've got an XP box with 1.5GB RAM. Just checking Process Manager, I've got ~900MB RAM free - and less than 500MB of apps using RAM. Windows' default paging algorithm aggressively swaps LRU blocks, so regardless of whether I'm using all of my RAM (or more than 30%) I can count on windows swapping for a good amount of time during my work day - especially if I've had an application open and unused for a few hours.
Your suggestion about disabling SWAP works - application access is r
Re: (Score:3, Informative)
sounds promising (Score:2)
Re: (Score:2)
Initially looks good (Score:2)
The patch appears not to be malware - (always a risk when downloading from someone other than MS - and sometimes a problem from them directly!)
I applied it, restarted, turned off swap, restarted, fired up a ton of apps, then hibernated and restored without a blue screen! First time in a year I could pull that off.
Thanks for the help. (I wish the XP swap algorithm was tunable or at least was not so aggressive about swapping. Running w/o swap is a risk, too, although not too great of one
Re: (Score:2)
(A joke, I know that these days the sticky bit DOESNT pin things in RAM)
Simple (Score:2, Interesting)
Oh, they don't let you do that? Sounds like your "soft"ware is a little brittle.
MOD PARENT UP (Score:1, Interesting)
Re: (Score:1)
1. log in as a low priority user
2. execute the following line of shell code: wine 3dsmax.exe [3dsmax program arguments]
3. pipe the results, and move on.
"slowly, one by one, the penguins steal my sanity" - Unknown
Source code? (Score:2)
If you've got the source to 3dsmax, there's bound to be an API like 'nice' that you can insert to drop priority.
If not, it might possibly work to rename 3dsmax.exe to 3dsmax_real.exe and write 3dsmax.bat (this depends entirely on how the code was written):
Actually, if that doesn't work, you could do basically the same thing in a C wrapper program to be called 3dsmax.exe.
Simple / obvious? (Score:2)
Put this in NICE3D.CMD:
A small programming project (Score:3, Informative)
The benefit of going this route would be that it doesn't matter how someone started the 3D Studio Max executable, it would always get changed to low priority. Actually I might do the modification myself because I'm kind of digging the idea. The list of programs that ProcessHunterD looks for is configurable, you could just as easily make the priority configurable as well so you could change it to give other executables higher priority if you'd like.
More effective solution? (Score:5, Insightful)
Re: (Score:1)
Re: (Score:2)
Re:More effective solution? (Score:5, Informative)
Usually the foreground app (ie window) gets a little bit extra so it makes Windows *more* responsive, but again, that doesn't help you if you're waiting for an app to start (as it'll be in the background...)(you can turn this feature off if you like - system control panel to make it more server like).
So, with the system proposed, the starting app would not start any quicker - it would still want 75% of the CPU, as would the running app. The only benefit would be that the CPU had 25% time to sit there doing nothing. If you think you could use another app while those 2 fought over their 75% CPU resources, think that the app you want to use is also limited to 75% (and assuming you make it work and not sit mostly idle) it would be grabbing CPU time away from the 2 original apps, making them slower still.
If you want more response, give 1 app a lower priority and Windows will leave it for a while until the higher priority app goes idle. I do not recommend doing this for explorer.exe
Incidentally, Linux uses a weighted round-robin scheduler (windows uses a plain one that gives equal time to all runnign aps of the same priority) that gives less time to apps the more they use the CPU, this is probably why you feel Linux is more responsive - an interactive app will spend more of its time waiting for the user, so when it does need to do something, it is given a larger amount of time than its peers. If you use it a lot though, you'd find it gets slower over time. (so if you have a text editor and a compiler running, the text editor gets more CPU time when it wants it, but if you set the editor to do a lengthy 100% CPU task, you'd find its responsiveness was not as good when it was finished).
Re: (Score:2)
And whatever you were doing, you can't now, because the system is busy. So even though you know it's wrong, you try surfing the web or opening a file to pass the time, and it actually takes longer than process1+process2 completing by themselves (the med
Re: (Score:2)
The basic problem... (Score:2)
Say you have a 3D graphics outfit with a renderfarm, and you use both 3dsMax and maya. Let's say you submit a network rendering job from both.
Now the 3dsMax renderer of choice - say, mental ray - sucks up 99% of the CPU on the render job, leaving the maya render job to do crap all until the 3dsMax render job is done.
So you switch the 3dsMax process to Low Priority... but now the maya render job sucks up nearly all the CPU, and the 3dsMax render job does next-to-zilch un
Re: (Score:2)
Process Lasso (Score:3, Informative)
ThreadMaster (Score:2)
Re: (Score:2)
AutoIt (Score:1)
Seconded, and a word of caution (Score:2)
I also see Auto-It in us
processor affinity (Score:1)
Since when did Slashdot.... (Score:2)
ProcessTamer (Score:1, Informative)
I didn't try it, but if it does what it says on the tin then this is what you want.
runprio (Score:1)
C:\download\batchfiles>RUNPRIO.EXE /?
/c echo Hello world!
RunPrio is copyright EnterNet Sweden 1999. All rights reserved.
Usage: runprio [-x] [-t n] []
where is one of "low", "normal", "high", "realtime"
-x : Print exit code of
-t n : Timeout after n seconds - kill the command
Example: runprio -x high cmd
at 00:00 runprio -t 600 low mybatch.bat
not using 3rd party tools.... (Score:1, Informative)
Re: (Score:2)
3DS Max Startup script (Score:5, Informative)
Or you could use a rendering manager which lets you control the priority of the render nodes, like Deadline [franticfilms.com] from Frantic Films.
ProcessTamer (Score:2, Informative)
I've been looking for this, too. (Score:2)