Как назначить разные ядра процессора разным процессам?

Я использую Ubuntu Server Edition 11.10, и у меня есть две чрезвычайно ресурсоемкие программы, работающие на одном ядре. Ни один из этих процессов не был запрограммирован для многоядерной обработки. Есть ли способ, которым я могу сказать, чтобы процесс A работал на Core 1, а процесс B - на Core 2?

7
задан 24 March 2012 в 00:25

2 ответа

Принятый ответ может быть хорошим советом, но, конечно, это не ответ на ваш вопрос. Ваш вопрос не указывает мне, что вы не можете услышать ответ, на самом деле это звучит как хороший пример ситуации, в которой вы бы хотели конкретно указать, какие процессоры должны делать что.

Суть в том, что вы хотите, это наборы процессоров. Они поддерживаются в 11.10 Ubuntu, так как он использует достаточно последнее ядро ​​Linux. Я считаю, что Linux 2.6 необходим.

Вы можете прочитать страницу руководства для cpuset здесь: http://www.kernel.org/doc/man-pages/online/pages/man7/cpuset.7.html

[ 115] Вот еще одна страница для общего ознакомления: http://www.bullopensource.org/cpuset/

Linux может быть «великим» в принятии решения о том, как распределять процессорное время, но это не идеален.

0
ответ дан 24 March 2012 в 00:25

Я надеюсь, что это не кажется грубым, но если вы зададите этот вопрос, вам даже не стоит его обдумывать. Это одна из тех вещей, которые Linux серьезно умеет выяснять сам по себе. Если вы это сделаете, это, вероятно, окажет очень негативное влияние на производительность. Даже если программа не предназначена для использования большего количества процессоров, Linux при необходимости перенесет их на другие ядра. Программа не заметит.

Возможно, вы захотите задать им оба низких значения nice с помощью команды nice, чтобы дать им более высокие приоритеты.

0
ответ дан 24 March 2012 в 00:25

Другие вопросы по тегам:

Похожие вопросы: