суббота, 10 сентября 2011 г.

linux.debian.user.russian - новые сообщения (22) в темах 3 - обзор

linux.debian.user.russian
http://groups.google.com/group/linux.debian.user.russian?hl=ru

linux.debian.user.russian@googlegroups.com

Темы дня:

* Динамически включать-выключать CPU - сообщений: 19, авторов: 4
http://groups.google.com/group/linux.debian.user.russian/t/38e31515ac8d5010?hl=ru
* Испания ближе чем Вы думаете - сообщений: 1, 1 автор
http://groups.google.com/group/linux.debian.user.russian/t/eeaf15c28f6a2e55?hl=ru
* nice -n - только от рута? - сообщений: 2, авторов: 2
http://groups.google.com/group/linux.debian.user.russian/t/1f28a0fb42466ef8?hl=ru

==============================================================================
ТЕМА: Динамически включать-выключать CPU
http://groups.google.com/group/linux.debian.user.russian/t/38e31515ac8d5010?hl=ru
==============================================================================

== 1 с 19 ==
Дата: Пт. 9 сен 2011 18:20
От: Иван Лох

On Sat, Sep 10, 2011 at 05:11:22AM +0400, é×ÁÎ ìÏÈ wrote:
> On Sat, Sep 10, 2011 at 05:04:04AM +0400, é×ÁÎ ìÏÈ wrote:
> >

/proc/*/comm


--
To UNSUBSCRIBE, email to debian-russian-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: http://lists.debian.org/20110910011546.GE6087@nano.ioffe.rssi.ru


== 2 с 19 ==
Дата: Пт. 9 сен 2011 18:30
От: Mikhail Ramendik

2011/9/10 Иван Лох <loh@1917.com>:

>> И узнать, какой процесс как называется, никак нельзя? А то kswapd0
>> вроде тоже в контексте ядра должен быть, а top знает как его зовут.
>
> ps aux -- те, что в квадратных скобках

Нагуглил другой способ - спасибо за ключевые слова, без них не нагуглилось.

cat /proc/$pid/status | grep name

> Пока syslog не запущен то printk только так. А потом можно logger

У меня "вместо init", значит printk. Значит Си. Я пока пытаюсь Сей
избежать, так что обойдусь :) Хотя если где-нибудь есть исходник, из
коего можно сделать /bin/printk...

При помощи простенького питонного скрипта с os.system() я узнал, какие
же процессы у меня остались не в новом cpuset:

Name: migration/0
Name: ksoftirqd/0
Name: watchdog/0
Name: migration/1
Name: ksoftirqd/1
Name: watchdog/1
Name: events/0
Name: events/1
Name: kintegrityd/0
Name: kintegrityd/1
Name: kblockd/0
Name: kblockd/1
Name: kondemand/0
Name: kondemand/1
Name: aio/0
Name: aio/1
Name: crypto/0
Name: crypto/1
Name: ata/0
Name: ata/1

Для сравнения:


$ cat /proc/31/status | grep Name
Name: kswapd0

Таким образом, /0 или /1 это такие CPU affinity. Это подтверждается
просмотром полного /proc/$pid/status - там есть пункт
Cpus_allowed_list и в нём для данных процессов указан 0 или 1.

Более того. Точно такие же процессы имеются при isolcpus=1 - и для CPU
1 тоже. Значит, мне удалось полностью реплицировать isolcpus на
cpusets.

Прикол в том, что на эту тему нагуглился разговор в LKML, там isolcpus
хотели отменить, но нашлись юзеры, его применяющие. Вот переписать моё
решение на Сях, уонфиг ему сделать - и закинуть в LKML как
уж-совсем-полный аналог isolcpus?

Ладно, это потом, сначала узнаем, пропадут ли зависы. Пока погонял
сколько-то с no_hz=off - не зависло, а обычно с ним висло быстро...

(И кстати, если пропадут - стоит ли пытаться искать баг, возвращая
задачи на оба процессора? Или заработало - и ладно? Или можно так:
заработало - и ладно, но написать в ЖЖ на английском и русском
решение, чтобы следующие напоровшиеся смогли его найти?)

Кстати, всем огромное спасибо - я бы не добрался до столь странного
решения без КУЧИ подсказок.

--
Yours, Mikhail Ramendik

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


== 3 с 19 ==
Дата: Пт. 9 сен 2011 18:50
От: Иван Лох

On Sat, Sep 10, 2011 at 02:28:26AM +0100, Mikhail Ramendik wrote:
>
> Прикол в том, что на эту тему нагуглился разговор в LKML, там isolcpus
> хотели отменить, но нашлись юзеры, его применяющие. Вот переписать моё
> решение на Сях, уонфиг ему сделать - и закинуть в LKML как
> уж-совсем-полный аналог isolcpus?

Но все-таки. А почему нельзя поменять affinity у одной из нитей mplayer??


--
To UNSUBSCRIBE, email to debian-russian-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: http://lists.debian.org/20110910014419.GF6087@nano.ioffe.rssi.ru


== 4 с 19 ==
Дата: Пт. 9 сен 2011 19:00
От: Mikhail Ramendik

2011/9/10 Иван Лох <loh@1917.com>:

>> Прикол в том, что на эту тему нагуглился разговор в LKML, там isolcpus
>> хотели отменить, но нашлись юзеры, его применяющие. Вот переписать моё
>> решение на Сях, уонфиг ему сделать - и закинуть в LKML как
>> уж-совсем-полный аналог isolcpus?
>
> Но все-таки. А почему нельзя поменять affinity у одной из нитей mplayer??

Нет такой опции в командной строке. Это в исходник лезть. А там
непростой исходник. К тому же он регулярно обновляется и я не хотел бы
устраивать личный форк.

(А сделать настоящий патч, с новой опцией и её разбором, я пожалуй что
не потяну).

Установка affinity на два СPU для процесса mplayer - не помогает. Либо
на один, либо на другой, но не на оба. Вот такая неприятная штука
isolcpus.

Я гуглил, у людей была похожая задача. Примерно так: isolcpus 1-3,
надо было сделать процесс load balanced между CPU 2 и CPU 3. Ответ был
- не используйте isolcpus, используйте cpuset.

Однако, это уже решили. При использовании cpuset проблемы просто нет.
Ну, sudo требуется, но это дело штатное. (Хотя более корректно было бы
играть с правами доступа на файл tasks, но какая уж тут корректность
если я на /usr/bin/python рассчитываю при запуске init).

--
Yours, Mikhail Ramendik

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


== 5 с 19 ==
Дата: Пт. 9 сен 2011 19:10
От: Иван Лох

On Sat, Sep 10, 2011 at 02:55:45AM +0100, Mikhail Ramendik wrote:
> 2011/9/10 Иван Лох <loh@1917.com>:
> >
> > Но все-таки. А почему нельзя поменять affinity у одной из нитей mplayer??
>
> Нет такой опции в командной строке. Это в исходник лезть. А там
> непростой исходник. К тому же он регулярно обновляется и я не хотел бы
> устраивать личный форк.
>
> (А сделать настоящий патч, с новой опцией и её разбором, я пожалуй что
> не потяну).

Это скорее надо с LD_PRELOAD загружать библиотеку, которая fork() и clone()
слегка модифицирует.


--
To UNSUBSCRIBE, email to debian-russian-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: http://lists.debian.org/20110910020354.GG6087@nano.ioffe.rssi.ru


== 6 с 19 ==
Дата: Пт. 9 сен 2011 19:20
От: Mikhail Ramendik

2011/9/10 Иван Лох <loh@1917.com>:
> On Sat, Sep 10, 2011 at 02:55:45AM +0100, Mikhail Ramendik wrote:
>> 2011/9/10 Иван Лох <loh@1917.com>:
>> >
>> > Но все-таки. А почему нельзя поменять affinity у одной из нитей mplayer??
>>
>> Нет такой опции в командной строке. Это в исходник лезть. А там
>> непростой исходник. К тому же он регулярно обновляется и я не хотел бы
>> устраивать личный форк.
>>
>> (А сделать настоящий патч, с новой опцией и её разбором, я пожалуй что
>> не потяну).
>
> Это скорее надо с LD_PRELOAD загружать библиотеку, которая fork() и clone()
> слегка модифицирует.

Можно, но так как получилось - явно проще. (А что грязно - так
переписать с shell+python на pure C будет быстреею чем библиотеку
сочинять).


--
Yours, Mikhail Ramendik

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


== 7 с 19 ==
Дата: Пт. 9 сен 2011 19:50
От: Mikhail Ramendik

2011/9/10 Mikhail Ramendik <mr@ramendik.ru>:
> Можно, но так как получилось - явно проще.

Кажется, можно совсем красиво сделать. Но нужна подсказка по деталям.

А именно - через некоторое время после логина (производимого при
помощи kdm) юзерский процесс сразу отправить в /dev/cpuset/tasks,
чтобы всем юзерским задачам дать два процессора.

При этом, сам X сервер должен остаться где был, на одном процессоре.
Но я посмотрел в top - он от рута работает.

Вопрос в том, куда это поставить. Чьими детьми будут все процессы,
запускаемые самим юзером (именно при логине через kdm, консоль/ssh не
рассматриваем)? И в какой скрипт это, соответственно, вставить?

Сам вроде бы догадываюсь до Xsession (положить скрипт в
/etc/X11/Xsesson.d - они вроде бы выполняются не exec, а source, и
потому в $$ там толжен быть pid как раз сессии). Но - сработает ли? И
точно ли это выполняется уже от юзера и не имеет отношения к запуску
самого сервера? Я попросту не понял этого из манов.

Кроме того, гугль вроде бы подсказывает, что поскольку используется
kdm - править придётся /etc/kde4/kdm/Xsession. Или всё-таки
/etc/X11/Xsession.d сработает?

А то получается шанс "прозрачно" решить проблему. Хотя и не факт, что
получится, но уж больно приятный выходит вариант. Вообще без потери
удобства и производительности - просто загнали всю систему на CPU0.

--
Yours, Mikhail Ramendik

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


== 8 с 19 ==
Дата: Пт. 9 сен 2011 21:30
От: Mikhail Ramendik

2011/9/10 Victor Wagner <vitus@wagner.pp.ru>:

> Ну и то, что ты делаешь на python тоже прекрасно делается на shell.
>
> Есть в нем и read и for, и while

Мне нужно следующее:

- Считать содержимое /dev/cpuset/tasks в массив, по строчкам. И больше
этот файл не трогать совсем. Массив должен быть в памяит (больше
негде, файлова система read only)

- Каждой строке массива отдельно сделать echo $string
>/dev/cpuset/syscpuset/tasks . Ошибки игнорировать.

Я не смог нагуглить, как сделать это шеллом. Поэтому и сделал питоном.

Если шеллом можно сделать _это_, может им можно и конфиг разобрать? В
этом случае даже production решение (для публикации) можно делать на
шелле. Особенно если независимо от того сделать /sbin/kprint для
выкидывания чего-нибудь в dmesg.

--
Yours, Mikhail Ramendik

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


== 9 с 19 ==
Дата: Пт. 9 сен 2011 21:30
От: Mikhail Ramendik

2011/9/10 Victor Wagner <vitus@wagner.pp.ru>:
> Всего-то что тебе надо - это где-то прикопать некоторое количество
> информации до тех пор, пока не появится возможность тем или иным
> способом записать его в файловую систему. Совершенно необязательно,
> кстати, это делать через syslog. Можно просто файлик в /var/log открыть,
> после того как /var будет смонтирован read-write.

Так мой процесс, маленький совсем, запускается _до_ монтирования чего-либо RW.

Я пока без логгинга обойдусь, но неприятно.

--
Yours, Mikhail Ramendik

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


== 10 с 19 ==
Дата: Пт. 9 сен 2011 21:30
От: Victor Wagner

On 2011.09.10 at 03:14:57 +0100, Mikhail Ramendik wrote:

> Можно, но так как получилось - явно проще. (А что грязно - так
> переписать с shell+python на pure C будет быстреею чем библиотеку
> сочинять).

Совершенно не факт. Библиотек это ни разу не rocket science. Это такой
же исходник на pure C.

Ну и то, что ты делаешь на python тоже прекрасно делается на shell.

Есть в нем и read и for, и while


--
To UNSUBSCRIBE, email to debian-russian-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: http://lists.debian.org/20110910042432.GB32196@wagner.pp.ru


== 11 с 19 ==
Дата: Пт. 9 сен 2011 21:30
От: Victor Wagner

On 2011.09.10 at 02:28:26 +0100, Mikhail Ramendik wrote:

> 2011/9/10 Иван Лох <loh@1917.com>:
>
> >> И узнать, какой процесс как называется, никак нельзя? А то kswapd0
> >> вроде тоже в контексте ядра должен быть, а top знает как его зовут.
> >
> > ps aux -- те, что в квадратных скобках
>
> Нагуглил другой способ - спасибо за ключевые слова, без них не нагуглилось.
>
> cat /proc/$pid/status | grep name
>
> > Пока syslog не запущен то printk только так. А потом можно logger
>
> У меня "вместо init", значит printk. Значит Си. Я пока пытаюсь Сей

Не слушай ты темных и необразованных людей. Я тоже, когда был молодой и
глупый, пытался ядро патчить для решения задач, к которым существуют
userspace решения.

Всего-то что тебе надо - это где-то прикопать некоторое количество
информации до тех пор, пока не появится возможность тем или иным
способом записать его в файловую систему. Совершенно необязательно,
кстати, это делать через syslog. Можно просто файлик в /var/log открыть,
после того как /var будет смонтирован read-write.

--
To UNSUBSCRIBE, email to debian-russian-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: http://lists.debian.org/20110910042250.GA32196@wagner.pp.ru


== 12 с 19 ==
Дата: Пт. 9 сен 2011 21:40
От: Mikhail Ramendik

2011/9/10 Victor Wagner <vitus@wagner.pp.ru>:
> On 2011.09.10 at 03:14:57 +0100, Mikhail Ramendik wrote:
>
>> Можно, но так как получилось - явно проще. (А что грязно - так
>> переписать с shell+python на pure C будет быстреею чем библиотеку
>> сочинять).
>
> Совершенно не факт. Библиотек это ни разу не rocket science. Это такой
> же исходник на pure C.

Ага, но там придётся алгоритм для load balancing придумывать. Этот
тред туда, а этот сюда. А зачем, когда оно в ядре уже есть? Ты же сам
против того чтобы делать работу, которая уже сделана.

Решение через cpuset позволяет обойтись _тривиальным_ кодом. То есть,
если бы не моя отсталость от нынешнего C, то проблем бы не было вовсе,
а так - ну, грязновато вышло, но для проверки сойдёт. Может ведь и не
помочь.

--
Yours, Mikhail Ramendik

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


== 13 с 19 ==
Дата: Пт. 9 сен 2011 22:10
От: Artem Chuprina

> #!/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.

--
Если ты не боишься синего экрана, то почему боишься черного?
-- Д.Белявский


--
To UNSUBSCRIBE, email to debian-russian-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: http://lists.debian.org/87ty8lng8l.wl%ran@ran.pp.ru


== 14 с 19 ==
Дата: Пт. 9 сен 2011 22:20
От: Mikhail Ramendik

2011/9/10 Victor Wagner <vitus@wagner.pp.ru>:

> Не слушай ты темных и необразованных людей. Я тоже, когда был молодой и
> глупый, пытался ядро патчить для решения задач, к которым существуют
> userspace решения.

Вот сейчас я хочу найти, надеюсь, пока что последнее решение для тго
конкретного набора (дальше - тестирование).

А именно - как мне произвести нужную операцию для процесса, который
породит все _юзерские_ процессы после логина. Но не рутовые, например
не X сервер.

В Xsession что ли, и если да - какой у дебиановского kdm Xsession?

Я хочу попробовать дать этому процессу оба процессора ( грубо говоря,
sudo echo $$ >/dev/cpuset/tasks - реально это будет вызываемый по sudo
скрипт с pid в качестве $1). Оставив при этом все системные/рутовые
процессы на одном СPU 0.

Если систему завешивает какой-то конкретный кривой процесс, а не
scheduler, то этого должно быть достаточно для борьбы с зависанием.
Более того, если CPU 1 битое аппаратно - насколько я понимаю тоже,
поскольку нерутовое приложение систему не вешает, а из проблем умеет
либо процессор загружать, либо падать.

(А что касается mplayer - так ему я ещё и nice -2 хочу дать, если с
безопасностью справлюсь. Чтобы он успешно играл фильмы, требующие
всего процессора, когда загружен iceweasel и отжирает процентов 40-50
одного ядра).

--
Yours, Mikhail Ramendik

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


== 15 с 19 ==
Дата: Пт. 9 сен 2011 23:20
От: Victor Wagner

On 2011.09.10 at 05:29:03 +0100, Mikhail Ramendik wrote:

> 2011/9/10 Victor Wagner <vitus@wagner.pp.ru>:
>
> > �� � ��, ��� �� ������� �� python ���� ��������� �������� �� shell.
> >
> > ���� � ��� � read � for, � while
>
> ��� ����� ���������:
>
> - ������� ���������� /dev/cpuset/tasks � ������, �� ��������. � ������
> ���� ���� �� ������� ������. ������ ������ ���� � ������ (������
> �����, ������� ������� read only)

����� ���� ������ ������? ���� ����� ����� ��������� ������, �� �������
����� �����������.

��������� � �������, ������� � /dev/cpu/tasks �������� � ������
������������ �� ��������.

������� ������ ��������� ����� �����������

LIST=`cat /dev/cpuset/tasks`
for pid in $LIST; do
echo $pid > /dev/cpyset/syscpuset/tasks
done

��������� ������ � ������������� �� ���������� - ���� �� �����
������������ ����������� ��� shell.

���� �� � /dev/cpuset/tasks � �������� ����������� ������������
����� (�������, ������� � ������ �����, ������� �������� ���
������������ �����������, ������� ������)

�� ����� �� ������ �������� ���� � ���������� AS IS

LIST="`cat /dev/cpuset/tasks`"

� ����� ������ ��� �� �����

echo "$LIST" | while read line; do
echo $line >/dev/cpuset/syscpyset/tasks
done

������ �������� �� ������� ������ �������� � ����������� $LIST �
��������� echo.

> - ������ ������ ������� �������� ������� echo $string
> >/dev/cpuset/syscpuset/tasks . ������ ������������.
>
> � �� ���� ���������, ��� ������� ��� ������. ������� � ������ �������.

� �� ���� ����� ���� �������. �� ���� ������� ������. � ������ ��������
��������� �������� �� ������������ ������������, � �������� ��������
�� �� ��������� �����.

��� ���� �������� �������� ������������� ������ ���������. �����,
��������, ��� "������".

������ ���, ���� � ���� �� ��������, ��� � ��� �����, ������� ��������
/bin/sh �� ����� ���������� ������, ������� ���� (�, ������, ��� ��
������ ��� ������������� ���������� �������� �� �������� ���
������������), ���������� �� ��, ��� � ����� ������ ������ /bin/sh ���
����, �� �����.

> ���� ������ ����� ������� _���_, ����� �� ����� � ������ ���������? �

��, �����������.

� ����� ����� ����� ������� ��������� �� ��� �� �����, ��� � ��������
�������, � ������ ������ ����� �� source/require � �.�.

��������� ��������, ��� �������-������ ���� �������� �� ��� �
������������ ������� � namespace �������� ��������� - ��� vulnerability,
�� � �������, ��� � ����������� ������� ��, ��� ����� ����� �������
������, ����� ����� ������� � ���������.

> ���� ������ ���� production ������� (��� ����������) ����� ������ ��
> �����. �������� ���� ���������� �� ���� ������� /sbin/kprint ���
> ����������� ����-������ � dmesg.

��� ��� �������, ���� ����� ������ �������� ����� �� /sbin/kprint �
/dev/kprint - ��������� ����� ������� ������, ��������������� character
devices, � ���������� ���, ��� ���� �������, � ����� ��������� ����.

���� � ���, ��� ��� /sbin/kprint ���� ��� ����� ����������� �����-��
��������� � ����� - ������ ��� ���������� ������� ������� �� ��
userspace �� ��������.

� ���� ���� ��������� ������� � ���� character device (� ��� -
���������� �����������, ����������������� � ���������� ����� ��������
������ ������������ ���������� � ������� �������), �� � ���������� ����
������ ������������ �� ����������� - �������� echo ������.

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


--
To UNSUBSCRIBE, email to debian-russian-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: http://lists.debian.org/20110910061311.GA1515@wagner.pp.ru


== 16 с 19 ==
Дата: Пт. 9 сен 2011 23:40
От: Mikhail Ramendik

2011/9/10 Victor Wagner <vitus@wagner.pp.ru>:

> Поэтому вполне сработает такая конструкция
>
> LIST=`cat /dev/cpuset/tasks`
> for pid in $LIST; do
>        echo $pid > /dev/cpyset/syscpuset/tasks
> done

Спасибо. Вот как раз того, что шелловский for умеет итерировать по
строке, разделяя newlines, я и не знал.

(Это подойдёт - там просто числа, разделённые newline).

>> Если шеллом можно сделать _это_, может им можно и конфиг разобрать? В
>
> Да, естественно.
>
> Я очень часто делаю конфиги скриптами на том же языке, что и основной
> продукт, и промом просто делаю им source/require и т.д.

Всё что тут надо конфигурировать, по максимуму:

CPUSETNAME=name
CPUS=cpus
MEMS=mems
MOVE_KERNEL_PROCESSES=[true|false]

В первой версии хватит CPUS и MEMS (имя "прибить гвоздиком", имеющиеся
процессы всегда перегонять). Для 80-90% случаев этого IMHO достаточно.

Ну, вообще это _можно_ сделать исполняемым. И вроде бы при ошибке,
если новых строк не добавлять, оно как максимум не сработает, но
система загрузится. Потому что если cpus/mems невалидно, система
просто не позволяет записать задачи в новый cpuset.

> Как мне кажется, куда более прямым решением будет не /sbin/kprint а
> /dev/kprint - маленький такой ядерный модуль, предоставляющий character
> devices, и передающий все, что туда пишется, в буфер сообщений ядра.

Я просто не верю, что готовое решение для логгинга userland процессов
до RW монтирования /var/log отсутствует. Ну сам-то /sbin/init должен
куда-то сообщить об ошибке в /etc/inittab .

> Дело в том, что для /sbin/kprint тебе все равно понадобится какой-то
> интерфейс с ядром - просто так внутреннюю ядерную функцию ты из
> userspace не позовешь.

Вот это и вопрос - позовёшь или нет. Если нет, то для работы решения
требуется собрать ядерный модуль. Значит, чтобы оно работало нормально
при штатном обновлении ядра (подъём версии - тоже штука штатная), мне
ещё и dkms прикручивать придётся. Как-то оно явно того не стоит. Уж
проще этот скрипт выпустить без лога.

(А создавать больше одного cpuset ему не нужно в принципе. Куда более
продвинутая система управления cpuset для sysv init уже есть. А этот
скрипт - для параноидального выгоняния всей системной шушеры _сразу_,
чтобы даже sysv init не дожидаться).

--
Yours, Mikhail Ramendik

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


== 17 с 19 ==
Дата: Сб. 10 сен 2011 00:30
От: Victor Wagner

On 2011.09.10 at 07:38:37 +0100, Mikhail Ramendik wrote:

> 2011/9/10 Victor Wagner <vitus@wagner.pp.ru>:
>
> > О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫
> >
> > LIST=`cat /dev/cpuset/tasks`
> > for pid in $LIST; do
> > О©╫ О©╫ О©╫ О©╫echo $pid > /dev/cpyset/syscpuset/tasks
> > done
>
> О©╫О©╫О©╫О©╫О©╫О©╫О©╫. О©╫О©╫О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫, О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ for О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫
> О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ newlines, О©╫ О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫.

О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫ О©╫О©╫ newlines, О©╫ whitespace. newlines О©╫О©╫О©╫О©╫О©╫О©╫О©╫
О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫.


> (О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫дёО©╫ - О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫лёО©╫О©╫О©╫О©╫ newline).
>
> >> О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ _О©╫О©╫О©╫_, О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫? О©╫
> >
> > О©╫О©╫, О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫.
> >
> > О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫
> > О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ source/require О©╫ О©╫.О©╫.
>
> О©╫сё О©╫О©╫О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫:
>
> CPUSETNAME=name
> CPUS=cpus
> MEMS=mems
> MOVE_KERNEL_PROCESSES=[true|false]

О©╫О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫
О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ "О©╫О©╫О©╫О©╫О©╫"

. /etc/cpuhack.cfg

О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ /etc/default.
О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ init-О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫.

О©╫О©╫О©╫О©╫О©╫О©╫ - О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫

echo something > /dev/cpuset/${CPUSETNAME}/tasks

О©╫О©╫О©╫ О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫
О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫ О©╫О©╫О©╫О©╫О©╫ - О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ sanity
checks. О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫ CPUSETNAME О©╫О©╫ О©╫О©╫О©╫О©╫О©╫.


> О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫, О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ userland О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫
> О©╫О©╫ RW О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ /var/log О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫. О©╫О©╫ О©╫О©╫О©╫-О©╫О©╫ /sbin/init О©╫О©╫О©╫О©╫О©╫О©╫
> О©╫О©╫О©╫О©╫-О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ /etc/inittab .

О©╫О©╫О©╫ О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫.


--
To UNSUBSCRIBE, email to debian-russian-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: http://lists.debian.org/20110910072737.GA2501@wagner.pp.ru


== 18 с 19 ==
Дата: Сб. 10 сен 2011 00:40
От: Victor Wagner

On 2011.09.10 at 05:25:31 +0100, Mikhail Ramendik wrote:

> 2011/9/10 Victor Wagner <vitus@wagner.pp.ru>:
> > �����-�� ��� ���� ���� - ��� ���-�� ��������� ��������� ����������
> > ���������� �� ��� ���, ���� �� �������� ����������� ��� ��� ����
> > �������� �������� ��� � �������� �������. ���������� �������������,
> > ������, ��� ������ ����� syslog. ����� ������ ������ � /var/log �������,
> > ����� ���� ��� /var ����� ����������� read-write.
>
> ��� ��� �������, ��������� ������, ����������� _��_ ������������ ����-���� RW.

�� ���� ���� ����������� �� ������������ ����-�� RW. � ������ � ���� �
������ �����. ������� ����� ������������ ���������� ��������� �������
klogd �������������� � ���-�����.

� ���� �������� ����������� ���, ��� �� ���� ������� ��������� init-��.
�� ���� ����� ������ ������ - �������� ��������� �������, � ������
�������� ������� ���������, � ����� �����-���� �������� ��������� ����
������� �� ��������. �� ���� SIGUSR ��� �������.


--
To UNSUBSCRIBE, email to debian-russian-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: http://lists.debian.org/20110910072953.GB2501@wagner.pp.ru


== 19 с 19 ==
Дата: Сб. 10 сен 2011 00:40
От: Victor Wagner

On 2011.09.10 at 06:12:59 +0100, Mikhail Ramendik wrote:

> 2011/9/10 Victor Wagner <vitus@wagner.pp.ru>:
>
> > Не слушай ты темных и необразованных людей. Я тоже, когда был молодой и
> > глупый, пытался ядро патчить для решения задач, к которым существуют
> > userspace решения.
>
> Вот сейчас я хочу найти, надеюсь, пока что последнее решение для тго
> конкретного набора (дальше - тестирование).
>
> А именно - как мне произвести нужную операцию для процесса, который
> породит все _юзерские_ процессы после логина. Но не рутовые, например
> не X сервер.
>
> В Xsession что ли, и если да - какой у дебиановского kdm Xsession?

Насколько я понимаю, у всех дебиановских dm используется одна и та же
система скриптов в /etc/X11/Xsession.d
Там достаточно развесисто - оно умеет запускать как минимум dbus-session и
ssh-agent
так, чтобы window manager был их потомком.


> Я хочу попробовать дать этому процессу оба процессора ( грубо говоря,
> sudo echo $$ >/dev/cpuset/tasks - реально это будет вызываемый по sudo
> скрипт с pid в качестве $1). Оставив при этом все системные/рутовые
> процессы на одном СPU 0.

Есть такая добрая идиома чтобы echo-м писать от рута:

echo something | sudo tee somefile


--
To UNSUBSCRIBE, email to debian-russian-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: http://lists.debian.org/20110910073356.GC2501@wagner.pp.ru

==============================================================================
ТЕМА: Испания ближе чем Вы думаете
http://groups.google.com/group/linux.debian.user.russian/t/eeaf15c28f6a2e55?hl=ru
==============================================================================

== 1 с 1 ==
Дата: Пт. 9 сен 2011 22:10
От: "Вячеслав Комаров"

О©╫О©╫О©╫О©╫О©╫О©╫О©╫ - О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫. О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫, О©╫ О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫. О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫. О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ - О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ 180 О©╫О©╫О©╫О©╫ О©╫О©╫ 90 О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫. О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫-О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫.

О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ - О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫!

О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫?

О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫. О©╫ О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫.

О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ , О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫.

О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫ О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫

О©╫О©╫О©╫: 8 9O6 727 66 41


--
To UNSUBSCRIBE, email to debian-russian-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: http://lists.debian.org/11P5SQ-3JZEY0-GJ@wonderware.com

==============================================================================
ТЕМА: nice -n - только от рута?
http://groups.google.com/group/linux.debian.user.russian/t/1f28a0fb42466ef8?hl=ru
==============================================================================

== 1 с 2 ==
Дата: Пт. 9 сен 2011 23:20
От: Mikhail Ramendik

Всем привет!

Гуглил, но что-то не нагуглил. Я хочу запустить юзерский процесс с
nice -2 или -5 - это mplayer, ему надо весь процессор, а там всякие
iceweasel мешаются. Их просто забыли закрыть.

Есть ли способ это сделать, _кроме_ как renice `pidof mplayer` от
рута? Можно ли как-то дать данному юзеру нужную привилегию?

--
Yours, Mikhail Ramendik

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


== 2 с 2 ==
Дата: Пт. 9 сен 2011 23:50
От: Ivan Shmakov

>>>>> Mikhail Ramendik <mr@ramendik.ru> writes:

> Гуглил, но что-то не нагуглил. Я хочу запустить юзерский процесс с
> nice -2 или -5 - это mplayer, ему надо весь процессор, а там всякие
> iceweasel мешаются. Их просто забыли закрыть.

> Есть ли способ это сделать, _кроме_ как renice `pidof mplayer` от
> рута? Можно ли как-то дать данному юзеру нужную привилегию?

Мне помогает «обратное» решение: запускать iceweasel с nice > 0,
e. g.:

$ nice -n+7 iceweasel &

Долговременные задачи (вроде $ cd grass-dev/ && make) запускаю с
$ ionice -c 3 nice -n+19.

--
FSF associate member #7257 Coming soon: Software Freedom Day
http://mail.sf-day.org/lists/listinfo/ planning-ru (ru), sfd-discuss (en)


--
To UNSUBSCRIBE, email to debian-russian-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: http://lists.debian.org/86d3f8529t.fsf@gray.siamics.net


==============================================================================

Данное сообщение отправлено Вам, так как Вы являетесь подписчиком Группы Google: "linux.debian.user.russian"
группа.

Чтобы отправить в эту группу сообщение, посетите страницу: http://groups.google.com/group/linux.debian.user.russian?hl=ru

Чтобы отменить подписку на эту группу, отправьте сообщение по адресу: linux.debian.user.russian+unsubscribe@googlegroups.com

Чтобы изменить способ получения электронной почты из этой группы, посетите:
http://groups.google.com/group/linux.debian.user.russian/subscribe?hl=ru

Чтобы сообщить о ненадлежащем использовании, отправьте электронное сообщение
с описанием проблемы на адрес abuse@googlegroups.com


==============================================================================
Группы Google: http://groups.google.com/?hl=ru

Комментариев нет:

Отправить комментарий