My production machine is a dual-processor machine running Windows 2000 Server with zope running as a service. I understand from previous posts that setting processor affinity, i.e., making python/zope run on only one of the processors, may be a good thing. Since this is my production machine, I would rather not experiment too much. What I have is the imagecfg.exe program from http://www.robpol86.com/tutorials/imagecfg.php, and the instructions are to run imagecfg -u file.exe imagecfg -a 0x1 file.exe on the executable file I would wish to set affinity to processor 1 on. I see that in Task Manager, I cannot set processor affinity manually on my python process. I get "access denied." I am running what I presume is the stock win32 install of zope-2.6.2. It began as 2.6.0, but has been upgraded. So, now for the question: Has anyone done this? Is the above procedure the correct way to do this? Like I say, it's a production machine, and I would rather not experiment. Which executable(s) should be imagecfg'd? Is it the python.exe in [zope]/bin? Or the .exe that starts the service? or a .dll or two? -- Jim Washington
Jim Washington wrote:
Has anyone done this?
I played wit hsetting it manaully in Task Manager a coupla times.
Is the above procedure the correct way to do this?
Never heard of imagecfg before, and it's not official MS stuff, so maybe not :-S
Like I say, it's a production machine, and I would rather not experiment. Which executable(s) should be imagecfg'd? Is it the python.exe in [zope]/bin? Or the .exe that starts the service? or a .dll or two?
Dunno. Why are you looking to do this? What problems are you experiencing? cheers, Chris
Chris Withers wrote:
Jim Washington wrote:
Has anyone done this?
I played wit hsetting it manaully in Task Manager a coupla times.
Hmm. Cannot do that here with python.exe. Maybe the process is running too long and spread over both processors, so affinity cannot be made at this point. It may be time to experiment.
Is the above procedure the correct way to do this?
Never heard of imagecfg before, and it's not official MS stuff, so maybe not :-S
The site says that imagecfg is from the MS Resource Kit. Even if it were directly from MS, it's still a "mystery meat" executable to me.
Like I say, it's a production machine, and I would rather not experiment. Which executable(s) should be imagecfg'd? Is it the python.exe in [zope]/bin? Or the .exe that starts the service? or a .dll or two?
Dunno. Why are you looking to do this? What problems are you experiencing?
No problems yet. But we're soon hosting something that has potential to use the machine a bit more, so it makes sense to take care of any easy-to-fix performance issues. Reading here and there, the machine is supposedly losing somewhere between 5 and 20 percent of efficiency due to the python global interpreter lock getting swapped between processors. Or something like that. Thanks for the response, Chris. It looks like I will have to do an experiment or two. I'll let the list know what I end up with. -- Jim Washington
Jim Washington wrote:
Chris Withers wrote:
Jim Washington wrote:
Has anyone done this?
I played wit hsetting it manaully in Task Manager a coupla times.
Hmm. Cannot do that here with python.exe. Maybe the process is running too long and spread over both processors, so affinity cannot be made at this point. It may be time to experiment.
FWIW, I havent had any problems setting affinity manually (with TaskManager) either. - peter.
Answering my own question after experimenting :)
My production machine is a dual-processor machine running Windows 2000 Server with zope running as a service. I understand from previous posts that setting processor affinity, i.e., making python/zope run on only one of the processors, may be a good thing. Since this is my production machine, I would rather not experiment too much.
What I have is the imagecfg.exe program from http://www.robpol86.com/tutorials/imagecfg.php, and the instructions are to run
imagecfg -u file.exe imagecfg -a 0x1 file.exe
on the executable file I would wish to set affinity to processor 1 on.
I see that in Task Manager, I cannot set processor affinity manually on my python process. I get "access denied."
I am running what I presume is the stock win32 install of zope-2.6.2. It began as 2.6.0, but has been upgraded.
So, now for the question:
Has anyone done this?
Yes.
Is the above procedure the correct way to do this?
Yes. Even though I could not set processor affinity manually through task manager.
Which executable(s) should be imagecfg'd? Is it the python.exe in [zope]/bin? Or the .exe that starts the service? or a .dll or two?
It's the python.exe in [zope]/bin . I made a renamed backup copy of it just in case of failure. Results: It works. I stopped Zope in the service manager, did the above, and then started Zope again. It took a total of about two minutes. I have not done any special performance testing, but visually in the task manager, zope is indeed running on a single processor, and my "zen" is that it seems a bit peppier. It's been running fine in this state for a few days now. This of course allows a proper future experiment with ZEO --> server on one processor, client on the other. --Jim Washington
Hi Jim, please educate me, I'm confused. So what is the syntax for running the program? Is this in the registry / Imagepath key in current control set/ services or is it something else? TIA Bobb ----- Original Message ----- From: "Jim Washington" <jwashin@vt.edu> To: <zope@zope.org> Sent: Wednesday, February 04, 2004 8:22 AM Subject: Re: [Zope] Win2k Processor Affinity
Answering my own question after experimenting :)
My production machine is a dual-processor machine running Windows 2000 Server with zope running as a service. I understand from previous posts that setting processor affinity, i.e., making python/zope run on only one of the processors, may be a good thing. Since this is my production machine, I would rather not experiment too much.
What I have is the imagecfg.exe program from http://www.robpol86.com/tutorials/imagecfg.php, and the instructions are to run
imagecfg -u file.exe imagecfg -a 0x1 file.exe
on the executable file I would wish to set affinity to processor 1 on.
I see that in Task Manager, I cannot set processor affinity manually on my python process. I get "access denied."
I am running what I presume is the stock win32 install of zope-2.6.2. It began as 2.6.0, but has been upgraded.
So, now for the question:
Has anyone done this?
Yes.
Is the above procedure the correct way to do this?
Yes. Even though I could not set processor affinity manually through task manager.
Which executable(s) should be imagecfg'd? Is it the python.exe in [zope]/bin? Or the .exe that starts the service? or a .dll or two?
It's the python.exe in [zope]/bin . I made a renamed backup copy of it just in case of failure.
Results:
It works. I stopped Zope in the service manager, did the above, and then started Zope again. It took a total of about two minutes. I have not done any special performance testing, but visually in the task manager, zope is indeed running on a single processor, and my "zen" is that it seems a bit peppier. It's been running fine in this state for a few days now.
This of course allows a proper future experiment with ZEO --> server on one processor, client on the other.
--Jim Washington
_______________________________________________ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Bobb wrote:
Hi Jim, please educate me, I'm confused.
So what is the syntax for running the program? Is this in the registry / Imagepath key in current control set/ services or is it something else?
It's a command-line utility. Use it from Start->run->cmd.exe . The web page I referred to has pretty good instructions, though maybe the gui screenshots are a bit misleading. --Jim Washington
participants (4)
-
Bobb -
Chris Withers -
Jim Washington -
Peter Sabaini