David Touzeau put forth on 12/23/2010 1:58 PM: > Dear > > I have a server with 8 processors. > I would like to create 8 postfix instances and each instance use a > dedicated processor. > > Is it possible to do that ?
If binding a Postfix instance to a physical CPU is really what you want/need, say for customer SLAs, you may consider deploying a virtualization platform such as VMWare ESX/i. With it you can create a *nix VM guest for each Postfix server and lock each VM guest OS instance to a physical CPU, if you wish. This may or may not be possible with other virtualization platforms such as those available in the Linux kernel or as patches to it. I've not used them. If you go the VMWare route, there is an option to de-duplicate redundant memory contents called Transparent Page Sharing. If you use the same OS and application binary revs on each guest, the code footprint memory consumption of OS+apps will be that of a single server instead of 8 servers. If you have common data on each guest, that will be consolidated as well (such as Postfix tables). With Postfix being your primary application you won't suffer memory hot spots as can happen with CPU/memory intensive applications running on ESX/i with memory de-duplication enabled. The downside is that for these and other advanced features, ESX/i are not free, but somewhat pricey. If your request for information is unrelated to SLAs or similar, I'd simply do as others have suggested, which is to let your OS kernel schedule the Postfix processes and threads. If your need is due to SLAs or similar, and you'd rather not go the virtualization route due to cost or other reasons, Linux does have a cpu affinity capability originally developed for HPC users, called cpusets, which may accomplish your goals. http://www.mjmwired.net/kernel/Documentation/cgroups/cpusets.txt As Wietse mentioned, Solaris Containers may work for this, and if your platform is an IBM pSeries, LPARs may suit your needs. -- Stan