On 3/15/06, Tres Seaver <tseaver@palladion.com> wrote:
That question is not Zope specific -- you would need to modify the start scripts for your appservers to make whatever kernel / libc-specific calls are needed (on Solaris, it would be invoking the 'pbind' command). In the worst case, you would end up writing a wrapper binary which set the affinity mask and then exec'ed Python.
I don't know what facilities the kernel in your Linux provides for doing that (and haven't tried on any recent kernels of my own, either).
On 2.6 kernels (and possibly some patched/backported 2.4 kernels) with recent glibc versions, the API call to use would be sched_setaffinity() ( see <sched.h> ) . I'm not aware of any existing userland command on Linux equivalent to "pbind" of Solaris or "mpsched" or "runon" of other UNIX systems. It would be a pretty easy little program to write though. You should be able to set the processor affinity on your running Zope instance too, assuming appropriate privledges. - Jeff D