Processor Affinity
From Pbxnsip Wiki
When using multiple-core CPU, the operating system has to assign processes to processors. By default, the operating system tries to balance out the load so that the overall system performance is as fast as possible.
However, this approach has the disadvantage that during the moving from one CPU to another the whole process gets stuck for some time. If during that time the CPU should play out media, you will result in a stuttering media play out. This is perceived as jitter coming from the PBX.
In order to avoid this problem, you should assign the PBX process to one fixed CPU. Depending on the operating system, you can do this manually or you can ask the PBX processes to do this during startup.
Starting from version 2.1, there is a setting called “Process Affinity Mask”. This mask correspondents to the argument provided to the according system call and it consists of a bit mask for the processors that you want to use. The least significant bit corresponds to processor 1, the next one to processor 2 and so forth. For example, to assign the PBX to processor 1 you can use the value “1”, to assign it to processor 2 you use “2” and to assign it to processor 3 you use “4”. We recommend that you assign it only to one processor to exclude the possibility that the operating system will start switching between processors. If you don’t want to assign the PBX to a specific processor, just leave the setting empty. This is the default.
After changing this setting, you need to restart the service.
If you want to quickly try if the setting in Windows, you can also change the assignment from the task manager.
