프로그램을 실행할 때 사용할 코어 선택하기


0

나는 15 코어의 Intel Xeon에서 실행되는 Fedora 서버에서 작업합니다. 일부 사용자는 4 개의 코어를 차지하는 시뮬레이션을 실행 중이지만 다른 코어는 사용되지 않는 것 같습니다. 사용 코어가 해제 될 때까지 기다리지 않고 프리 코어에서 프로그램을 실행할 수있는 방법이 있습니까?


1
그것은 자동적이어야합니다 ... 당신은 그것이 아니라는 것을 알았습니까?
MariusMatutiae

1
Marius가 말했듯이, 자동으로이를 수행해야합니다 (사용 가능한 코어가있는 경우 사용 된 코어의 프로세스를 큐에 넣는 것은 터무니없는 일입니다). 이 사실을 알지 못하면 문제를 찾아 수정해야합니다. 그동안 선호도를 수동으로 설정 프로세스.
Synetech

나는 그렇지 않다는 것을 알았다. 하나의 코어에서 프로세스를 실행하고 있었고 누군가 4 코어를 사용하는 프로세스를 시작했고 프로세스는 여전히 4 개 프로세스 중 하나에 있었고 다른 프로세스는 모든 리소스를 소중히했으며 내 프로세스는 영원히 느려졌습니다. 친화력을 수동으로 설정하고 작동하는지 확인하겠습니다. 감사합니다.
Zloy Smiertniy

답변:


2

MATLAB의 잘못이라고 알았어. 그것은 내 과정을 존중하지 않았습니다. 다른 시뮬레이션이 실행 된 후 다시 실행했고 이제는 별도의 코어에서 작동합니다. 감사합니다. Synetech 어쨌든 나는 리눅스 명령을 발견했다. 작업 세트 내가 수동으로해야 할 필요가 있기 때문에 필요한 것을 할 수있게 해줍니다.

$ taskset
Usage: taskset [options] [mask | cpu-list] [pid|cmd [args...]]

Options:
 -p, --pid               operate on existing given pid
 -c, --cpu-list          display and specify cpus in list format
 -h, --help              display this help
 -V, --version           output version information

The default behavior is to run a new command:
    taskset 03 sshd -b 1024
You can retrieve the mask of an existing task:
    taskset -p 700
Or set it:
    taskset -p 03 700
List format uses a comma-separated list instead of a mask:
    taskset -pc 0,3,7-11 700
Ranges in list format can take a stride argument:
    e.g. 0-31:2 is equivalent to mask 0x55555555

For more information see taskset(1).
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.