Jump to content

Set processor affinity to 1 failed (multicore system)


clarity

Recommended Posts

Logfile shows "Set processor affinity to 1 failed" on each service startup.

 

How do I fix this?

 

I really would like to lock it down to one CPU core and avoid RTP the associated jitter problems of 'core hopping'.

 

This is a quad core Xeon server and I'm running PBXNSIP 3.0.1.3023 (Linux)

 

Deban 4.0 up to date.

SMP kernel.

 

Any suggestions?

 

pbx:/proc# cat version

Linux version 2.6.18-4-686 (Debian 2.6.18.dfsg.1-12etch2) (dannf@debian.org) (gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)) #1 SMP Wed May 9 23:03:12 UTC 2007

 

 

pbx:/proc# cat cpuinfo

processor : 0

vendor_id : GenuineIntel

cpu family : 15

model : 4

model name : Intel® Xeon CPU 3.20GHz

stepping : 1

cpu MHz : 3192.275

cache size : 1024 KB

physical id : 0

siblings : 2

core id : 0

cpu cores : 1

fdiv_bug : no

hlt_bug : no

f00f_bug : no

coma_bug : no

fpu : yes

fpu_exception : yes

cpuid level : 5

wp : yes

flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc pni monitor ds_cpl cid cx16 xtpr

bogomips : 6388.27

 

processor : 1

vendor_id : GenuineIntel

cpu family : 15

model : 4

model name : Intel® Xeon CPU 3.20GHz

stepping : 1

cpu MHz : 3192.275

cache size : 1024 KB

physical id : 0

siblings : 2

core id : 0

cpu cores : 1

fdiv_bug : no

hlt_bug : no

f00f_bug : no

coma_bug : no

fpu : yes

fpu_exception : yes

cpuid level : 5

wp : yes

flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc pni monitor ds_cpl cid cx16 xtpr

bogomips : 6384.06

 

processor : 2

vendor_id : GenuineIntel

cpu family : 15

model : 4

model name : Intel® Xeon CPU 3.20GHz

stepping : 1

cpu MHz : 3192.275

cache size : 1024 KB

physical id : 3

siblings : 2

core id : 0

cpu cores : 1

fdiv_bug : no

hlt_bug : no

f00f_bug : no

coma_bug : no

fpu : yes

fpu_exception : yes

cpuid level : 5

wp : yes

flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc pni monitor ds_cpl cid cx16 xtpr

bogomips : 6384.05

 

processor : 3

vendor_id : GenuineIntel

cpu family : 15

model : 4

model name : Intel® Xeon CPU 3.20GHz

stepping : 1

cpu MHz : 3192.275

cache size : 1024 KB

physical id : 3

siblings : 2

core id : 0

cpu cores : 1

fdiv_bug : no

hlt_bug : no

f00f_bug : no

coma_bug : no

fpu : yes

fpu_exception : yes

cpuid level : 5

wp : yes

flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc pni monitor ds_cpl cid cx16 xtpr

bogomips : 6384.12

Link to comment
Share on other sites

Logfile shows "Set processor affinity to 1 failed" on each service startup.

 

How do I fix this?

 

First, it should also be possible to lock the processor to a core from outside of the program itself. Seems http://www.cyberciti.biz/tips/setting-proc...or-process.html is a interesting link to do that.

 

Maybe the apt-get also installs the neccessary stuff so that the processor can do it on its own. I think the link above is interesting reading regarding this topic.

Link to comment
Share on other sites

Looks like the problem(s) are that the examples given on that site do not work.

I'm guessing the web interface tries to do it the same way which does not work.

Further looking around shows that you have to issue the command like this:

 

The -c and -p must come FIRST then the arguments.

*this works*

pbx:/srv/pbxnsip# taskset -c -p 0 3330

pid 3330's current affinity list: 2

pid 3330's new affinity list: 0

pbx:/srv/pbxnsip#

 

 

Doing them the way that website suggests:

 

# taskset -c 1 -p 13545

Absolutely does not work in my Linux installation as well as some others I had read about.

 

I'd still like to be able to set it from the web interface..

Is that hard coded? or does it fire off an external script that I can 'fix'? ;-)

 

 

 

 

 

 

 

 

First, it should also be possible to lock the processor to a core from outside of the program itself. Seems http://www.cyberciti.biz/tips/setting-proc...or-process.html is a interesting link to do that.

 

Maybe the apt-get also installs the neccessary stuff so that the processor can do it on its own. I think the link above is interesting reading regarding this topic.

Link to comment
Share on other sites

  • 2 months later...

clarity, Have you been able to accomplish this?

 

 

Looks like the problem(s) are that the examples given on that site do not work.

I'm guessing the web interface tries to do it the same way which does not work.

Further looking around shows that you have to issue the command like this:

 

The -c and -p must come FIRST then the arguments.

*this works*

pbx:/srv/pbxnsip# taskset -c -p 0 3330

pid 3330's current affinity list: 2

pid 3330's new affinity list: 0

pbx:/srv/pbxnsip#

 

 

Doing them the way that website suggests:

 

# taskset -c 1 -p 13545

Absolutely does not work in my Linux installation as well as some others I had read about.

 

I'd still like to be able to set it from the web interface..

Is that hard coded? or does it fire off an external script that I can 'fix'? ;-)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...