Member
Статус: Не в сети Регистрация: 04.02.2005 Откуда: Россия\Москва Фото: 3
ну и наверное последний вопрос в тему создания автоматической считалки на линуксе:
как сделать автоматический запуск при старте компа ???
где прочитать про создание скрипта запуска ??? (старт/стоп/рестарт)
вообщем нужно стартовать при запуске
и желательно не ис-под рута, а от имени другого пользователя (мне нужно не только для фолдинга )
_________________ Присоединяйтесь к команде распределённых вычислений TSC! Russia
Member
Статус: Не в сети Регистрация: 16.02.2004 Откуда: Москва
underworlddemon У меня так:
Код:
#!/bin/bash cd /home/fah/FAH1 sudo -u fah ./fahstart
Где fahstart - файл с содержимым
Код:
./fah-console-1 > /dev/null &
В "двойном" миде остался от двухпроцессорного гейта - сейчас один камень, но рушил структуру не менять.
Насчет автозагрузки - зависит от типа линуха. У меня на Дебиане я создал в /etc/rc.d файло my_startup с правами доступа только руту, а потом - man update-rc.d
В файле том у меня много всего крутится, но сделал я его кривовато... он работает только на старт, на стоп моих сервисов идёт тупо системный килл =)
_________________ Один выстрел - один труп.
cd /usr/src/themepark-2.4.1-2 && ./configure --with-blackjack --and-hookers && make
у меня опять начали необъяснимо отваливаться клиенты под Линем. Ошибка MPI что делать?? Причем отваливаются только 1-й и 3-й, которые привязаны к первой паре ядер. Вторая пара ядер нормально работает. С чем может быть косяк?
Имею Quad+CentOS. Запуск smp клиента показал, что получаю исключительно задания 3060.
Выше описывалось, что задания типа 2605 дают больше ппд. Для решения предлагается пользовать патченный fah6.
А, между прочим, по лицензии там "You may not alter the software or associated data files"
Нашел немного другой способ. Поставил себе VPS OpenVZ, сказал в настройках, что у меня всего 2 проца, а не 4. fah6 сразу же скачал мне задание 2605
Member
Статус: Не в сети Регистрация: 23.12.2007 Откуда: TSC!Russia Team
evpamex писал(а):
А, между прочим, по лицензии там "You may not alter the software or associated data files"
Да, как я уже писал, метод патча не совсем спортивный - есть честный вариант правки отсылаемого значения процессоров через прокси. Но там надо потратить некоторое время, которого, как обычно нет
Удалось установить и запустить SMP на 32-битном линуксе. =) Сейчас успешно считается второе задание.
Технология:
1) Устанавливается 64-битное ядро. Система остаётся 32-битной и прекрасно работает (совместимость, типа).
2) Создаётся 64-битный chroot. В нём запускается SMP.
Если интересно, стучите в личку - напишу в подробностях.
Member
Статус: Не в сети Регистрация: 16.02.2004 Откуда: Москва
Biga Оооо.. у меня есть как раз машинка 2*500 Селерона... если б не дедлайны - поставил бы...
Хотя попробовать стоит. С учетом повышенного ППД - пускай и не засчитают задание, зато будет рекорд на машине такого класса =)
_________________ Один выстрел - один труп.
cd /usr/src/themepark-2.4.1-2 && ./configure --with-blackjack --and-hookers && make
У меня debian, поэтому если у вас debian или ubuntu, то всё будет так же. Если другой дистрибутив - многое может отличаться. Стучите мне в асю (в профиле) или джаббер (bigasoft@gmail.com), будем гуглить вместе.
1. Собираем ядро.
1а) Если вы пользуетесь ядром, установленным в дистрибе по-умолчанию, то наилучший путь - добыть 64-битную версию этого же ядра, скажем, из репозитория дистрибутива. Только нужно будет проверить, что в нём включена совместимость с 32-битными приложениями. Здравый смысл подсказывает, что она там обычно включена.
1б) Если вы хотите собрать ядро самостоятельно - это достаточно легко сделать. Для упрощения будем собирать ту же версию ядра, что стоит сейчас. Берёте исходники ядра (http://www.kernel.org/pub/linux/kernel/v2.6/) соответствующей версии. Распаковываете. Заходите в получившуюся папку. Берёте конфиг от установленного ядра (файл /boot/config) и копируете его в файл .config (начинается с точки - это типа скрытый файл) в текущую папку, т.е. папку с ядром.
Теперь нужно в конфиге поменять архитектуру на x86_64 и добавить совместимость с 32-битными приложениями. Самый удобный способ для этого - через графический конфигуратор: запускаем команду make ARCH=x86_64 xconfig;
Если графический конфигуратор не компилируется (например, нет библиотек qt), то либо разбирайтесь, как их ставить, либо попробуйте make ARCH=x86_64 menuconfig; Но menuconfig не такой красивый, и вообще неудобный.
Ладно, предположим, вы запустили конфигуратор. Идём в меню Executable file formats / Emulations и включаем IA32 Emulation. В разных версиях ядра меню может называться по-разному, ищите настройку IA32 Emulation. Там ещё есть IA32 a.out support - тоже на всякий пожарный включите, можно модулем - буква m вместо * (или точка вместо галочки) - тоже ок.
С настройкой всё. Выходите из конфигуратора, сохранившись.
На всякий случай проверьте, что в файле .config в начале написано
CONFIG_64BIT=y
# CONFIG_X86_32 is not set
CONFIG_X86_64=y
1.2. Ещё нужно открыть Makefile и подредактировать там EXTRAVERSION. к EXTRAVERSION можно дописать что угодно, например "_64". Это нужно, чтобы имя получившегося 64-битного ядра отличалось от уже установленного 32-битного.
1.3 Теперь ядро надо как-то собрать и установить. Честно признаюсь, я этого делать не умею %). То есть там много способов это сделать, у каждого дистриба по-своему, и сам я это делаю совсем не так, как положено. К счастью, по сборке ядра в инете туева хуча информации. Ищите, как это делается в вашем дистрибутиве. Основной отличительный момент здесь в том, что компиляция (make) делается с параметром ARCH=x86_64. Т.е. вместо make надо писать make ARCH=x86_64.
1.4 Надеюсь, что со сборкой и установкой ядра вы разобрались и всё сделали. Также я надеюсь, что загрузчик у вас grub - самый распространённый, наверное, сейчас загрузчик. Открываем /boot/grub/menu.lst, идём в конец файла и видим там описание тех пунктов, которые вы обычно видите при включении компьютера. Иногда при установке ядра, оно автоматически прописывается в меню grub'а. Но если там его нет, то скопипастите описание текущего ядра и поменяйте в имя ядра на новое.
Допустим, было что-то вроде этого:
Если всё пройдёт успешно, то после перезагрузки всё будет работать как и раньше, и никаких изменений на первый взгляд не будет видно вообще.
Если при загрузке что-то не работает (например, зависло нафиг), без паники жмём ресет и в грубе выбираем пункт меню со старым ядром.
После загрузки посмотреть версию текущего ядра можно командой uname -a. Выдаст что-то вроде:
Linux <host> 2.6.24.2_64 #2 SMP PREEMPT Tue Feb 19 15:17:08 MSK 2008 x86_64 GNU/Linux
Если там x86_64, то всё получилось. =)
2. Создание chroot'а.
2.1. Тут тоже всё очень сильно зависит от дистриба, да и писать мне надоело порядком. Гуглим!
В дебиане, и, наверное, убунте, это делается командой
debootstrap --arch amd64 lenny /srv/chroot/amd64 http://ftp.debian.org/debian lenny - название версии дистрибутива, ссылка - адрес репозитория.
Название дистриба и ссылку лучше подглядеть в /etc/apt/sources.list. Повторюсь, это для дебиана с убунтой.
2.2. Монтируем в chroot всякие куски файловой системы. Лучше сразу писать в /etc/fstab:
/dev /srv/chroot/amd64/dev none bind 0 0
/proc /srv/chroot/amd64/proc none bind 0 0
Если хотите запускать из chroot'а графические приложения, то нужно также добавить
/tmp /srv/chroot/amd64/tmp none bind 0 0
/home/имяюзера /srv/chroot/amd64/home/имяюзера none bind 0 0
Подмонтировать написанное можно командой mount -a из-под рута. (В убунте sudo mount -a)
Заходим в chroot: chroot /srv/chroot/amd64 тоже из-под рута.
Вот вы теперь в абсолютно голом линуксе. Разумно для начала создать себе юзера, чтобы не всё под рутом делать. useradd -m имяюзера. Переключиться на этого юзера можно командой su имяюзера. Обратно под рута: exit. Подозреваю, что sudo может не работать как надо.
2.3. Следующий затрах - установка 32-битных библиотек. Заранее сочувствую тем, у кого не debian-based дистрибутив. В дебиане и убунте тупо ставим пакет ia32-libs и всё. 32-битные библиотеки нужны потому, что сам SMP-клиент, [censored], 32-битный, а ядра у него 64-битные. Или как-то так.
2.4. Если вы победили установку библиотек, то скачиваете, распаковываете и запускаете для настройки сам SMP клиент. Делать это всё в чруте советую не под рутом, а под юзером.
2.5. Ну и наконец, если SMP клиент поставился и заработал - его можно запускать снаружи чрута. Например, прописываем в автозапуск команду
chroot /srv/chroot/amd64/ su имяюзера -c 'cd ~/кудапоставилифах;./fah6' >/dev/null 2>&1 &
Всё. Где чего не получается - внимательно читаем сообщения об ошибках, думаем мозгом, гуглим, стучим в асю. Успехов!
Чёзанах? Почему я с СМП получаю очков меньше, чем с одного ядра обычным клиентом?
Демонстрирую: http://kakaostats.com/usum.php?u=864176 310 и 243 очка - от СМП. Предыдущие - от двух одноядерных клиентов.
Блин, я теперь своё эссе отредактировать не могу, потому что слишком большое...
Западло в том, что fah6 --help не показывает -smp в списке возможных ключей.
В общем, написал сейчас так:
./fah6 -forceasm -smp -verbosity 9
Действительно, теперь как и положено 4 процесса считают, а не один.
Member
Статус: Не в сети Регистрация: 23.12.2007 Откуда: TSC!Russia Team
У меня такое впечатление, что доктора просто издеваются - откуда нормальному человеку знать, что SMP клиент надо запускать с ключом -smp для номальной работы????
А недоумения на докторском форуме, почему Quad за штуку баксов под Linux выдает PPD как CD2 за 250 уe под Windows? А доктора молчат в тряпочку про то, что Quad под Linux отправляется на сервера с тормозными и глючными заданиями 306x - а народ думает, что это проблемы железа и тестирует его как сумашедший теряя свое время.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения