[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Динамически включать-выключать CPU



2011/9/6 Dmitry Nezhevenko <dion@inhex.net>
On Tue, Sep 06, 2011 at 11:33:14AM +0100, Mikhail Ramendik wrote:
> Всем привет!
>
> Вопрос - а можно ли вот так развернуть линух на двухпроцессорной системе,
> чтобы он не использовал второй процессор, пока не сказали? А потом сказали
> ещё раз и снова видел один процессор.

/sys/devices/system/cpu/cpuX/online должно работать.
Когда остается 1 CPU, ядро автоматом переключается на UP.

Попробовал. Для cpu0 этого файла просто нет. Попытка отключить cpu1 приводит к зависанию - часы на экране идут, но система не отвечает на клавиатуру, мышь и уже установленную ssh сессию.

Впрочем, уже выяснилось, что все прерывания почему-то обрабатываются только на cpu1, так что оно неудивительно.

 

acpi=off еще попробуй. Но это совсем грустно.

Пробовал. Не помогло.
 

> Меня вполне устраивает работа системы с maxcpus=1 для всего, кроме просмотра
> HD media. В идеале можно было бы встроить в скрипты для просмотра (а они и
> так уже скрипты, на отдельный X screen показывают) включение второго CPU и
> затем отключение

А если во время просмотра зависнет?

А нестрашно. Плохо - данные потерять. А при просмотре какие данные?
 

> Однако нагугленное решение
> http://www.cyberciti.biz/faq/debian-rhel-centos-redhat-suse-hotplug-cpu/вешает
> систему сразу. (Я загружался без maxcpus и пытался отключить второй
> процессор через  echo 0 > /sys/devices/system/cpu/cpu1/online).
> Возможно ли такое на самом деле, или только через перезагрузку?

На исправном железе работает:

       [158000.796138] CPU 1 is now offline
       [158000.796147] SMP alternatives: switching to UP code

Когда я попробовал в текстовой консоли, то кажется эти две строки и увидел. "Кажется" потому, что они быстро уехали - на клавиатуре Enter "залип".

--
Yours, Mikhail Ramendik

Unless explicitly stated, all opinions in my mail are my own and do not reflect the views of any organization


Reply to: