Re: Динамически включать-выключать CPU
> #!/usr/bin/python
> f=open("/dev/cpuset/tasks")
> tasks=f.readlines()
> f.close()
>
> for task in tasks:
> try:
> f=open("/dev/cpuset/syscpuset/tasks","w")
> f.write(task)
> f.close()
> except IOError:
> pass
>
> Я конечно вижу, что это грязно, в общем случае на /usr нельзя
> рассчитывать и надо на Си писать, но влом. Или этот же эффект как-то
> достигается на shell+busybox?
>
for task in `cat /dev/cpuset/tasks`
do
echo $task > /dev/cpuset/syscpuset/tasks
done
Правда, я не смог посмотреть, что там пишется - у меня такого файла нет. Если
в /dev/cpuset/tasks больше одного слова на задачу, то надо более тщательно
строить цикл.
> А теперь вопрос - как бы мне выяснить, что это у меня за 20 задач,
> которые не переносятся? Проверил у нескольких /proc/$pid/cmdline -
> пусто. Но там и у kswapd0 пусто, а top как-то знает, что это именно
> он. Как мне-то узнать?
/proc/$PID/stat
> Гугль не помог :( Особенно это будет важно,
> если выяснится что весь этот хак не работает, а isolcpus работает.
Скорее всего, треды ядра. К которым, собственно, относится и kswapd.
--
Если ты не боишься синего экрана, то почему боишься черного?
-- Д.Белявский
Reply to: