Re: Динамически включать-выключать CPU
2011/9/9 Artem Chuprina r...@ran.pp.ru: Как я понял, тут несколько строк на Си, да только для этих нескольких строк надо очень много. Например, как собрать результат так, чтобы он действительно мог исполняться в качестве init, и какие системные вызовы (ядерные?) можно при этом использовать. А также как получить PID от init и успеть его запихнуть в /dev/cpuset/system_cpuset/tasks _до_ того, как init спаунит другие процессы... PID init'а равен 1. Смысл в том, что эта штука должна запускаться _вместо_ init (с PID 1), создавать cpuset и запихивать в него настоящий init. Но я уже понял, что ей достаточно сначала запихнуть в этот cpuset себя, а потом - вызывать init. Для запмуска самой штуки используется параметр ядра init=... Но я категорически не представляю себе, что можно, а что нельзя делать, будучи на месте init. Главный вопрос - у меня есть libc6 или у меня её нет? Если есть - то эта штука собирается более-менее обычно и работает более-менее обычно. -- Yours, Mikhail Ramendik Unless explicitly stated, all opinions in my mail are my own and do not reflect the views of any organization
Re: Динамически включать-выключать CPU
On 2011.09.09 at 11:17:08 +0100, Mikhail Ramendik wrote: PID init'а равен 1. создавать cpuset и запихивать в него настоящий init. Но я уже понял, что ей достаточно сначала запихнуть в этот cpuset себя, а потом - вызывать init. Для запмуска самой штуки используется параметр ядра init=... Ага - вызвать init посредством exec, заместив им себя в текущем процессе. Но я категорически не представляю себе, что можно, а что нельзя делать, будучи на месте init. Главный вопрос - у меня есть libc6 или у Все что угодно. меня её нет? Если есть - то эта штука собирается более-менее обычно и Сделай ldd /sbin/init работает более-менее обычно. Я вообще на своих X-терминалах shell-овский скрипт в качестве init использую. Прекрасно работаает. А все потому что мне лень было busybox пересобирать, а в той версии debian-а на которой я терминал собирал, в busybox init не собрали (хотя вообще-то он там есть). -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20110909111740.ga10...@wagner.pp.ru
openvpn и replay
стоит у меня openvpn сервер и периодически в логах появляются подобные сообщения: Authenticate/Decrypt packet error: bad packet ID (may be a replay): [ #1 / time = (1315567947) Fri Sep 9 15:32:27 2011 ] -- see the man page entry for --no-replay and --replay-window for more info or silence this warning with --mute-replay-warnings (дальше идут такие же предупреждения с #2, #3, ...) при этом клиент отваливается. перезапуск сервера решает проблему. вопрос: что происходит и как бороться? как я понимаю, клиентский openvpn был перезапущен, поэтому он заново послал пакет с #1, чего сервер испугался replay наверное. но при этом перезапуск клиента в общем-то штатная ситуация и обычно не приносит проблем. специально воспроизвести проблему не получается. -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/4e6a00f9.3020...@yandex.ru
Re: Есть ли в Linux/Debian генераторы сканов российских паспортов?
On 09/06/11 14:05, Anton Kovalenko wrote: ..Кроме того, есть идея заняться софтиной, чтобы отличала фальшивые сканы от настоящих. любопытно - как? -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/4e6a05b1.3010...@yandex.ru
Re: Динамически включать-выключать CPU
2011/9/9 Victor Wagner vi...@wagner.pp.ru: Я вообще на своих X-терминалах shell-овский скрипт в качестве init использую. Прекрасно работаает. Хочу подробностей. ОЧЕНЬ хочу. На шелле то, что я хочу, пишется без проблем. Вот оно: #!/bin/sh /bin/mkdir /dev/cpuset /bin/mount -t cpuset - /dev/cpuset /bin/mkdir /dev/cpuset/syscpuset /bin/echo 0 /dev/cpuset/syscpuset/cpus /bin/echo $$ /dev/cpuset/syscpuset/tasks /sbin/init Специально указал полные пути, исходя из того, что у нас ещё нет $HOME и поэтому шелл не инициализируется вообще никак. Но. Как в параметре ядра init указать нечто с параметрами? init=/bin/sh /bin/cpuset-hack, что ли? Запуск mplayer после этого я, если я правильно понял, сделаю просто... #!/bin/sh rxvt -e mplayer -lavdopts=2 ... sudo echo `pidof mplayer` /dev/cpuset/tasks (Ну, реально ради безопасности вторая строка будет запуском отдельного скрипта, чтобы именно его прописать в SUDOERS, но это уже не к той теме). -- Yours, Mikhail Ramendik Unless explicitly stated, all opinions in my mail are my own and do not reflect the views of any organization
Re: Динамически включать-выключать CPU
On 2011.09.09 at 13:37:30 +0100, Mikhail Ramendik wrote: 2011/9/9 Victor Wagner vi...@wagner.pp.ru: Я вообще на своих X-терминалах shell-овский скрипт в качестве init использую. Прекрасно работаает. Хочу подробностей. ОЧЕНЬ хочу. Нет никаких подробностей. Просто работает. На шелле то, что я хочу, пишется без проблем. Вот оно: #!/bin/sh /bin/mkdir /dev/cpuset /bin/mount -t cpuset - /dev/cpuset /bin/mkdir /dev/cpuset/syscpuset /bin/echo 0 /dev/cpuset/syscpuset/cpus /bin/echo $$ /dev/cpuset/syscpuset/tasks /sbin/init Последняя строчка должна быть exec /sbin/init Чтобы процесс не форкался, а замещал шелл инитом. Специально указал полные пути, исходя из того, что у нас ещё нет $HOME и поэтому шелл не инициализируется вообще никак. Оно от рута работает. А /root у нас уже есть. И /etc уже есть. А вообще можно в начале скрипта написать PATH=/bin:/sbin Далее, /bin/echo ты используешь зря. В большинстве шеллов есть встроенная команда echo. Но. Как в параметре ядра init указать нечто с параметрами? init=/bin/sh /bin/cpuset-hack, что ли? Да не нужно тебе /bin/sh. Просто объяви cpuset-hack исполняемым. #!/bin/sh отрабатывается ядром, и оно вполне справится с поиском интерпретатора и в данном случае. И лучше все-таки эту штуку держать не в /bin, а в /sbin -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20110909125318.ga12...@wagner.pp.ru
Re: openvpn и replay
On 2011.09.09 at 16:05:13 +0400, Ed wrote: стоит у меня openvpn сервер и периодически в логах появляются подобные сообщения: Authenticate/Decrypt packet error: bad packet ID (may be a replay): [ #1 / time = (1315567947) Fri Sep 9 15:32:27 2011 ] -- see the man page entry for --no-replay and --replay-window for more info or silence this warning with --mute-replay-warnings (дальше идут такие же предупреждения с #2, #3, ...) при этом клиент отваливается. перезапуск сервера решает проблему. вопрос: что происходит и как бороться? В сообщении написано прочитайте раздел man-страницы про опции --no-replay и --replay-window. как я понимаю, клиентский openvpn был перезапущен, поэтому он заново послал пакет с #1, чего сервер испугался replay наверное. Абсолютно неверное представление. OpenVPN достаточно хитрая софтина, чтобы для идентификаторов пакетов использовать нечто отличное от простого порядкового номера. Скорее всего действительно прилетает дубль пакета. Из-за каких-нибудь сетевых проблем. Или пакеты по дороге перепутываются и приходят не в том порядке (что вполне нормально. Ненормально то, что за заданное по умолчанию количество пакетов и секунд не удается собрать правильную цепочку). Если игры с --replay-window не приведут к успеху, можно попробовать использовать openvpn в tcp-режиме вместо udp. Тогда сборкой пакетов в правильной последовательности будет заниматься ядро, а не openvpn. Но это приведет к потерям производительности. Впрочем, лучше работающий медленно, чем зависающий канал. -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20110909130033.gb12...@wagner.pp.ru
Re: openvpn и replay
On 09/09/11 17:00, Victor Wagner wrote: On 2011.09.09 at 16:05:13 +0400, Ed wrote: как я понимаю, клиентский openvpn был перезапущен, поэтому он заново послал пакет с #1, чего сервер испугался replay наверное. Абсолютно неверное представление. OpenVPN достаточно хитрая софтина, чтобы для идентификаторов пакетов использовать нечто отличное от простого порядкового номера. Скорее всего действительно прилетает дубль пакета. Из-за каких-нибудь сетевых проблем. Или пакеты по дороге перепутываются и приходят не в том порядке (что вполне нормально. Ненормально то, что за заданное по умолчанию количество пакетов и секунд не удается собрать правильную цепочку). такое объяснение первым приходит в голову, но нет же - проверил логи, проблемы начинаются с #1. сейчас заметил такую приписку в man: In Static Key mode or when using an CFB or OFB mode cipher, OpenVPN uses a 64 bit unique identifier that combines a time stamp with an incrementing sequence number. у меня как раз static key mode. возможно что-то с таймштампом на виндовых клиентах? (такое ощущение, что проблемы только с ними) например служба перезапскается два раза за одну секунду. -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/4e6a1221.5060...@yandex.ru
Апдейт предлагает удалить гном О_о
такая вот беда http://paste.org.ru/?9sk9c2 это я туплю или что-то не так? :) буду благодарен за адекватность и помощь -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/4e6a4c02.9010...@ukr.net
Re: Апдейт предлагает удалить гном О_о
On Fri, Sep 09, 2011 at 08:25:22PM +0300, Тоха wrote: такая вот беда http://paste.org.ru/?9sk9c2 это я туплю или что-то не так? :) буду благодарен за адекватность и помощь apt-cache policy -- WBR, wRAR signature.asc Description: Digital signature
Re: Апдейт предлагает удалить гном О_о
09/09/2011 09:12 PM, Andrey Rahmatullin пишет: On Fri, Sep 09, 2011 at 08:25:22PM +0300, Тоха wrote: такая вот беда http://paste.org.ru/?9sk9c2 это я туплю или что-то не так? :) буду благодарен за адекватность и помощь apt-cache policy http://paste.org.ru/?8vwbwg или нужно было посмотреть какой-то пакет конкретно ? -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/4e6a5c77.40...@gmail.com
Re: Апдейт предлагает удалить гном О_о
2011/9/9 Тоха antondeadl...@ukr.net: такая вот беда http://paste.org.ru/?9sk9c2 это я туплю или что-то не так? :) буду благодарен за адекватность и помощь Новая версия пакета upower не ставится (зависимости сломаны, см. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=641015). apt-get отказался обновлять, aptitude изо всех сил пытается удовлетворить твое пожелание (об апгрейде). Но после обновления upower появляются неразрешенная жесткая зависимость. Вот и приходится сносить пакеты до тех пор, пока зависимости не удовлетворятся. В багтрекер хорошо бы заглядывать до того, как спрашивать у кого попало... Cheers! -- Sergei Golovan
Re: Помогите настроить GRUB2!
Mon, 5 Sep 2011 15:32:33 +0600 Sergey Korobitsin underta...@arta.kz написав: ultra.rapid ☫ → To debian-russian@lists.debian.org @ Mon, Sep 05, 2011 13:06 +0400 Совершенно непонятная ерунда! Когда устанавливал Debian 6.0.2, то в конце установки, как обычно, появилось сообщение с вопросом о том, куда нужно установить загрузчик системы. Было написано, что на компьютере была найдена еще одна система - Windows. Если это все системы, установленные на компьютере, можете смело устанавливать загрузчик в MBR. При загрузке сможете выбрать нужную операционную систему. Что я и сделал. Вот только одна проблема.. :) При загрузке теперь кроме Debian ничего нет. В Debian 6.0.2 нет файла /boot/grub/menu.list, который я собрался уже редактировать. Винда стоит на /dev/sda1. Как добавить её в загрузку??? Как-то так: aptitude install os-prober update-grub # update-grub2 -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20110907032419.7a393...@debian.beeline.ua
Re: Апдейт предлагает удалить гном О_о
09/09/2011 10:09 PM, Sergei Golovan пишет: 2011/9/9 Тохаantondeadl...@ukr.net: такая вот беда http://paste.org.ru/?9sk9c2 это я туплю или что-то не так? :) буду благодарен за адекватность и помощь Новая версия пакета upower не ставится (зависимости сломаны, см. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=641015). apt-get отказался обновлять, aptitude изо всех сил пытается удовлетворить твое пожелание (об апгрейде). Но после обновления upower появляются неразрешенная жесткая зависимость. Вот и приходится сносить пакеты до тех пор, пока зависимости не удовлетворятся. В багтрекер хорошо бы заглядывать до того, как спрашивать у кого попало... Cheers! Спасибо большое. На багтрекер не глядел, ибо таких проблем еще не было, познаний в этой области нет. Вот будет теперь экспирианс :) -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/4e6a665b.3060...@gmail.com
Re: Апдейт предлагает удалить гном О_о
Fri, 09 Sep 2011 20:25:22 +0300 Тоха antondeadl...@ukr.net написав: такая вот беда http://paste.org.ru/?9sk9c2 это я туплю или что-то не так? :) буду благодарен за адекватность и помощь Сегодня сломали зависимости upower в sid`е, может и не только в нем. -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20110907033308.75097...@debian.beeline.ua
Re: Помогите настроить GRUB2!
On Wed, Sep 07, 2011 at 03:24:19AM +0300, Paul Carroty wrote: aptitude install os-prober update-grub # update-grub2 Нет, всё верно. -- WBR, wRAR signature.asc Description: Digital signature
Re: Апдейт предлагает удалить гном О_о
On Fri, Sep 09, 2011 at 09:35:35PM +0300, Lord wrote: такая вот беда http://paste.org.ru/?9sk9c2 это я туплю или что-то не так? :) буду благодарен за адекватность и помощь apt-cache policy http://paste.org.ru/?8vwbwg зачем стейбл и сид одновременно? -- WBR, wRAR signature.asc Description: Digital signature
udisks и права на монтирование\
Предистория. Нет у меня новомодных ДЕ, а вот юсб-флешки есть, и стало мне лениво всякий раз в терминале писать pmount /dev/то-что-надо, захотел автоматически. Apt-cache рассказал о таком звере, как udisks-glue. Поставил, настроил и возрадовался, ибо всё работало как надо, и, в отличие от pmount, можно задавать опции для mount. Но прошло пару дней, и огорчился я зело, ибо перестала шайтан-программа работать, непозволено, говорит мне такими делами заниматься. Вот, например: $ udisks-glue -sf Running within session context: /org/freedesktop/ConsoleKit/Session1 Device file /dev/sdc inserted Device file /dev/sdc1 inserted Trying to automount /dev/sdc1... Failed to automount /dev/sdc1: Not Authorized Ключик -s на ситуацию не влияет. Посмотрел я мудрость волхвов из udisks-doc, policykit-1-doc и наваял такой вот файлик (/etc/polkit-1/localauthority.conf.d/99-udisks.conf): [Configuration] Identity=unix-group:plugdev Action=org.freedesktop.udisks.filesystem-mount ResultAny=no ResultInactive=no ResultActive=yes Но ничего не поменялось. Поможите, люди добрые, шайтана новомодного одужать! -- http://375gnu.wordpress.com -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20110909193201.GA22594@deneb
Re: Динамически включать-выключать CPU
2011/9/9 Victor Wagner vi...@wagner.pp.ru: На шелле то, что я хочу, пишется без проблем. Вот оно: Последняя строчка должна быть exec /sbin/init Чтобы процесс не форкался, а замещал шелл инитом. Ага. И ещё потребовалось echo 0 /dev/cpuset/syscpuset/mems . После этого оно заработало. Но куча задач осталась неперекинутой, поскольку запускаются помимо init (включая kswapd0, в котором у меня oops'ы были). Я обнаружил, что лишнее перекинуть просто нельзя - на некоторые задачи echo $pid /dev/cpuset/syscpuset/tasks даёт write error. Но поскольку перекидывать надо по одной строке, я не смог сделать это на шелле. Сейчас у меня работает такое решение: в ядре init=/sbin/cpuset-hack файл /sbin/cpuset-hack , permissions 744 чтобы случайно не запустить: #!/bin/sh /bin/mkdir /dev/cpuset /bin/mount -t cpuset - /dev/cpuset /bin/mkdir /dev/cpuset/syscpuset echo 0 /dev/cpuset/syscpuset/cpus echo 0 /dev/cpuset/syscpuset/mems echo $$ /dev/cpuset/syscpuset/tasks /sbin/cpuset-hack-python.py exec /sbin/init файл /sbin/cpuset-hack-python.py , permissions 744 по той же причине: #!/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? И запуск mplayer нашёлся способ сделать (чуть хитрее чем я тут писал - сначала отдать PID шелла в /dev/cpuset/tasks через sudo-скрипт, а потом запустить из этого шелла mplayer). А теперь вопрос - как бы мне выяснить, что это у меня за 20 задач, которые не переносятся? Проверил у нескольких /proc/$pid/cmdline - пусто. Но там и у kswapd0 пусто, а top как-то знает, что это именно он. Как мне-то узнать? Гугль не помог :( Особенно это будет важно, если выяснится что весь этот хак не работает, а isolcpus работает. И ещё вопрос - а как мне в dmesg вякнуть? А то в лог не попишешь, подмонтирован только корень и тот read only. -- Yours, Mikhail Ramendik Unless explicitly stated, all opinions in my mail are my own and do not reflect the views of any organization
Re: Динамически включать-выключать CPU
On Sat, Sep 10, 2011 at 01:32:24AM +0100, Mikhail Ramendik wrote: А теперь вопрос - как бы мне выяснить, что это у меня за 20 задач, которые не переносятся? Проверил у нескольких /proc/$pid/cmdline - пусто. Но там и у kswapd0 пусто, а top как-то знает, что это именно он. Как мне-то узнать? Гугль не помог :( Особенно это будет важно, если выяснится что весь этот хак не работает, а isolcpus работает. Это процессы в контексте ядра. Типично у них используемая память равна 0 И ещё вопрос - а как мне в dmesg вякнуть? А то в лог не попишешь, подмонтирован только корень и тот read only. hello.c: #include linux/module.h #include linux/kernel.h int init_module(void) { printk(KERN_INFO Hello world\n); return 0; } void cleanup_module(void) { printk(KERN_INFO Goodbye world\n); } Makefile: obj-m += hello.o all: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20110910005307.gb6...@nano.ioffe.rssi.ru
Re: Динамически включать-выключать CPU
2011/9/10 Иван Лох l...@1917.com: А теперь вопрос - как бы мне выяснить, что это у меня за 20 задач, которые не переносятся? Проверил у нескольких /proc/$pid/cmdline - пусто. Но там и у kswapd0 пусто, а top как-то знает, что это именно он. Как мне-то узнать? Гугль не помог :( Особенно это будет важно, если выяснится что весь этот хак не работает, а isolcpus работает. Это процессы в контексте ядра. Типично у них используемая память равна 0 И узнать, какой процесс как называется, никак нельзя? А то kswapd0 вроде тоже в контексте ядра должен быть, а top знает как его зовут. И ещё вопрос - а как мне в dmesg вякнуть? А то в лог не попишешь, подмонтирован только корень и тот read only. hello.c: #include linux/module.h #include linux/kernel.h Стоп, это модуль для ядра? А то у меня-то userland процесс, пусть и вместо init. Не хочу в ядерный контекст, без него страшно. Но оставить след хоть в каких-то логах (не dmesg так ещё что-нибудь) хотелось бы. -- Yours, Mikhail Ramendik Unless explicitly stated, all opinions in my mail are my own and do not reflect the views of any organization
Re: Динамически включать-выключать CPU
On Sat, Sep 10, 2011 at 01:58:27AM +0100, Mikhail Ramendik wrote: 2011/9/10 Иван Лох l...@1917.com: А теперь вопрос - как бы мне выяснить, что это у меня за 20 задач, которые не переносятся? Проверил у нескольких /proc/$pid/cmdline - пусто. Но там и у kswapd0 пусто, а top как-то знает, что это именно он. Как мне-то узнать? Гугль не помог :( Особенно это будет важно, если выяснится что весь этот хак не работает, а isolcpus работает. Это процессы в контексте ядра. Типично у них используемая память равна 0 И узнать, какой процесс как называется, никак нельзя? А то kswapd0 вроде тоже в контексте ядра должен быть, а top знает как его зовут. ps aux -- те, что в квадратных скобках #include linux/module.h #include linux/kernel.h Стоп, это модуль для ядра? А то у меня-то userland процесс, пусть и Пока syslog не запущен то printk только так. А потом можно logger -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20110910010404.gc6...@nano.ioffe.rssi.ru
Re: Динамически включать-выключать CPU
On Sat, Sep 10, 2011 at 05:04:04AM +0400, Иван Лох wrote: ps aux -- те, что в квадратных скобках То есть, конечно, в скобках все те у которых нет args... Это могут и процессы запущенные через pipe быть, например -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20110910011122.gd6...@nano.ioffe.rssi.ru
Re: Динамически включать-выключать CPU
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-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20110910011546.ge6...@nano.ioffe.rssi.ru
Re: Динамически включать-выключать CPU
2011/9/10 Иван Лох l...@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
Re: Динамически включать-выключать CPU
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-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20110910014419.gf6...@nano.ioffe.rssi.ru
Re: Динамически включать-выключать CPU
2011/9/10 Иван Лох l...@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
Re: Динамически включать-выключать CPU
On Sat, Sep 10, 2011 at 02:55:45AM +0100, Mikhail Ramendik wrote: 2011/9/10 Иван Лох l...@1917.com: Но все-таки. А почему нельзя поменять affinity у одной из нитей mplayer?? Нет такой опции в командной строке. Это в исходник лезть. А там непростой исходник. К тому же он регулярно обновляется и я не хотел бы устраивать личный форк. (А сделать настоящий патч, с новой опцией и её разбором, я пожалуй что не потяну). Это скорее надо с LD_PRELOAD загружать библиотеку, которая fork() и clone() слегка модифицирует. -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20110910020354.gg6...@nano.ioffe.rssi.ru
Re: Динамически включать-выключать CPU
2011/9/10 Иван Лох l...@1917.com: On Sat, Sep 10, 2011 at 02:55:45AM +0100, Mikhail Ramendik wrote: 2011/9/10 Иван Лох l...@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
Re: Динамически включать-выключать CPU
2011/9/10 Mikhail Ramendik m...@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
Re: Динамически включать-выключать CPU
On 2011.09.10 at 02:28:26 +0100, Mikhail Ramendik wrote: 2011/9/10 Иван Лох l...@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-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20110910042250.ga32...@wagner.pp.ru
Re: Динамически включать-выключать CPU
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-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20110910042432.gb32...@wagner.pp.ru
Re: Динамически включать-выключать CPU
2011/9/10 Victor Wagner vi...@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
Re: Динамически включать-выключать CPU
2011/9/10 Victor Wagner vi...@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
Re: Динамически включать-выключать CPU
2011/9/10 Victor Wagner vi...@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
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. -- Если ты не боишься синего экрана, то почему боишься черного? -- Д.Белявский -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/87ty8lng8l.wl%...@ran.pp.ru
Испания ближе чем Вы думаете
Испания - замечательная страна. У нее есть и море, и солнце, много вкусных фруктов и морепродуктов, здесь сосредоточены известные памятники истории и архитектуры. А что касается покупки недвижимости в Испании, то это своеобразный пропуск в еврозону, что, согласитесь, весьма заманчивая перспектива. Недвижимость - повод для получения мультивизы на пребывание в стране в течение 180 дней по 90 дней в полгода. А также возможность обретения вида на жительство при условии, если собственник открывает свой бизнес в Испании или инвестирует средства в какой-либо проект на ее территории. Предлагаем купить недвижимость в Испании - это престижно и выгодно! Почему это лучше сделать именно с нами? Вы не платите комиссионные. С вами будет работать рускоговорящий сотрудник крупной испанской фирмы, как на этапе ознакомления, так и непосредственно при показе объектов. Мы полностью оформим пакет документов на покупку недвижимости в Испании , а также поможем получить кредит в испанском банке. Мы всегда в Вашем распоряжении, и до и после заключения сделки проконсультируем по юридическим и бытовым вопросам, посоветуем, где и как интересно провести время, поможем решить любые проблемы во время Вашего пребывания в Испании, связанные с покупкой недвижимости Тел: 8 9O6 727 66 41 -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/11p5sq-3jzey0...@wonderware.com
Re: Динамически включать-выключать CPU
2011/9/10 Victor Wagner vi...@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
[BTS#640945] po-debconf://libguestfs/ru.po
Hello. -- Best Regards, Yuri Kozlov -- To UNSUBSCRIBE, email to debian-l10n-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20110909172215.6df31...@keeper.home.local
[BTS#641026] po-debconf://icecast2/ru.po
Hello. -- Best Regards, Yuri Kozlov -- To UNSUBSCRIBE, email to debian-l10n-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20110909202953.21807...@keeper.home.local