2014-01-28 1 views
2

나는 핵심 2-11와의 cpuset의 X를 지정 taskset --cpu 목록 2.모든 스레드를 코어로 기본 설정합니까?

그것은 내가 cpuset에의 X, 다음 sched_getaffinity (과 중첩 taskset와 프로세스를 실행하는 경우처럼 보인다)에만 핵심 # 2를 본다 유효한. 1 개 코어에 프로세스의 모든 스레드 기본, 및
- -
프로세스가 cpuset에 의해 "보호"입니다 (다른 프로세스가 사용하지 않도록 :

내 질문은 그게 다음을 달성 할 수있는 방법이된다 코어 지정 집합) 및
- 일부 스레드의 CPU 친화력을 프로그래밍 방식으로 설정할 수 있습니다 (이 방법은 pthread_attr_setaffinity_np()를 사용하여 수행 할 수 있음).

미리 감사드립니다.

+0

는'sched_getaffinity' 만 2 당신이의 cpuset을 받고 다음 (sched_setaffinity''와 함께)을 0xFFFFFFFF로 친화력을 설정하고 시도해 봤어 _is_ _current_의의 cpuset을보고? – Useless

+0

sched_getaffinity()를 호출하기 전에 sched_setaffinity()를 호출하지 않았습니다. 모든 스레드를 1 코어로 기본 설정 한 다음 CPUset 내부에 관심있는 스레드의 선호도를 설정하는 방법이 있습니까? – Hei

+0

15 세의 싱글 코어 펜티엄 박스에서 앱을 실행하십시오. –

답변

0

이렇게 질문을 올리면 프로세스가 코어 중 하나에서 실행되고 다른 프로세스가 실행되지 않도록 할 수 있습니까? 이 경우 isolcpus 명령을 참조해야합니다.

부팅시 매개 변수 isolcpus을 사용하면 프로세스/스레드가 CPU 선호도를 사용하여 격리 된 CPU를 사용하도록 요청하지 않는 한 하나 이상의 CPU를 커널 스케줄러에서 격리 할 수 ​​있습니다. (참조 표시 http://www.linuxtopia.org/online_books/linux_kernel/kernel_configuration/re46.html하고 있었어 .- whole one core dedicated to single process)