Возможно вы искали: 'Eternal Dusk'

May 31 2025 02:03:50
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96425698
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18407
• Обзор The Walking ... 18853
• Обзор DMC: Devil M... 19921
• Обзор на игру Valk... 15921
• Обзор на игру Stars! 17810
• Обзор на Far Cry 3 18000
• Обзор на Resident ... 16063
• Обзор на Chivalry:... 17561
• Обзор на игру Kerb... 18021
• Обзор игры 007: Fr... 16667
Превью о играх
• Превью к игре Comp... 18003
• Превью о игре Mage... 14502
• Превью Incredible ... 14763
• Превью Firefall 13523
• Превью Dead Space 3 16378
• Превью о игре SimC... 14772
• Превью к игре Fuse 15479
• Превью Red Orche... 15589
• Превью Gothic 3 16388
• Превью Black & W... 17402
Главная » Статьи » Разное » Быстрая загрузка Linux с параллельным запуском сервисов (boot tune linux init)

Быстрая загрузка Linux с параллельным запуском сервисов (boot tune linux init)

Ключевые слова: boot, tune, linux, init, (найти похожие документы)

From: TuxR
Date: Sun, 19 Nov 2006 17:02:14 +0000 (UTC)
Subject: Быстрая загрузка Linux с параллельным запуском сервисов


Оригинал: http://www.rostovlinux.ru/content/view/927/56/
Написал Mark Alexander Bain, перевод: TuxR (Monday, 01 May 2006)
Оригинал: http://enterprise.linux.com/article.pl?sid=06/04/13/173227

Если долгая загрузка вашего Linux сводит вас с ума, попробуйте технику
параллельной загрузки.

Какие улучшения вы сможете заметить, по сравнению с вашим текущим порядком проц
есса загрузки?
Хорошо, давайте начнем; посмотрим сколько времени это занимает сейчас.
Засеките время, либо напишите простой скрипт для подсчета времени загрузки:

#Filename: time_booting
HOST=$1
RESULT=""

while [ "$RESULT" != "$HOST" ]
do
RESULT=$(ssh bainm@$HOST uname -n 2>&-)
done


Запустите отчет времени и нажмите кнопку включения компьютера.

$ time time_booting hector

real 2m54.014s
user 0m47.140s
sys 0m18.660s


В этом примере загрузка простого сервера занимает около трех минут.

Чтобы посмотреть, какие улучшения возможно сделать, вам нужно посмотреть
на исп ользуемый уровень выполнения (runlevel), какие приложения были
запущены и в каком порядке. Узнайте runlevel, набрав sudo runlevel , а
затем посмотрите соответствующие директории rc.d .

$ sudo ls -l /etc/rc$(sudo runlevel| awk '{print $2}').d
total 0
lrwxrwxrwx 1 root root 18 1999-10-20 01:12 S10sysklogd -> ../init.d/sysklogd
lrwxrwxrwx 1 root root 15 1999-10-20 01:12 S11klogd -> ../init.d/klogd
lrwxrwxrwx 1 root root 13 1999-10-20 01:11 S14ppp -> ../init.d/ppp
lrwxrwxrwx 1 root root 17 1999-10-20 01:43 S18portmap -> ../init.d/portmap
lrwxrwxrwx 1 root root 24 1999-10-20 02:12 S20binfmt-support -> ../init.d/binfmt-support
lrwxrwxrwx 1 root root 15 1999-10-20 01:12 S20exim4 -> ../init.d/exim4
lrwxrwxrwx 1 root root 15 1999-10-20 01:11 S20inetd -> ../init.d/inetd
lrwxrwxrwx 1 root root 13 1999-10-20 01:43 S20lpd -> ../init.d/lpd
lrwxrwxrwx 1 root root 17 1999-10-20 01:10 S20makedev -> ../init.d/makedev
lrwxrwxrwx 1 root root 18 1999-10-20 03:33 S20mono-xsp -> ../init.d/mono-xsp
lrwxrwxrwx 1 root root 15 1999-10-20 12:54 S20mysql -> ../init.d/mysql
lrwxrwxrwx 1 root root 18 1999-10-20 01:44 S20netatalk -> ../init.d/netatalk
lrwxrwxrwx 1 root root 27 1999-10-20 01:44 S20nfs-kernel-server -> ../init.d/nfs-kernel-server
lrwxrwxrwx 1 root root 20 1999-10-20 01:42 S20postgresql -> ../init.d/postgresql
lrwxrwxrwx 1 root root 15 1999-10-20 01:44 S20samba -> ../init.d/samba
lrwxrwxrwx 1 root root 13 1999-10-20 01:43 S20ssh -> ../init.d/ssh
lrwxrwxrwx 1 root root 20 1999-10-20 01:43 S21nfs-common -> ../init.d/nfs-common
lrwxrwxrwx 1 root root 20 2006-04-05 15:44 S22set_time -> /etc/init.d/set_time
lrwxrwxrwx 1 root root 13 1999-10-20 01:12 S89atd -> ../init.d/atd
lrwxrwxrwx 1 root root 14 1999-10-20 01:11 S89cron -> ../init.d/cron
lrwxrwxrwx 1 root root 17 1999-10-20 01:43 S91apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root 19 1999-10-20 01:10 S99rmnologin -> ../init.d/rmnologin
lrwxrwxrwx 1 root root 23 1999-10-20 01:10 S99stop-bootlogd -> ../init.d/stop-bootlogd


Во время загрузки скрипт /etc/init.d/rc получает уровень запуска и
смотрит в со ответствующей директории (обычно, называющейся /etc/rc.d ).
Затем скрипт запускает все файлы из директории в алфавитном порядке.
Каждый файл фактически является ссылкой и его имя с буквы S и номера.
Эта схема создает порядок загрузки и гарантирует, что все зависимости
будут правильно обработаны. Например, в предыдущем листинге, S10 не имел
зависимостей , и, следовательно,запускался первым. S11 может зависеть от
S10 и запускаться следующим - и т.д.

В вышеприведенном примере показаны 12 процессов с префиксом S20. Они
запускаются последовательно и в алфавитном порядке. Если запуск каждого
из них потребует 10 секунд, это займет 2 минуты времени загрузки. Так
как каждый процесс имеет такой же уровень зависимостей, вы теоретически
можете запускать их параллельно, уменьшив время загрузки с двух минут
54 секунд до одной минуты и 4 секунд.

Сделаем смелый ход:

Понимание, почему загрузка происходит медленно - это одно, но сделать
что-то, относящееся к этому - совсем другое дело. Перед тем, как вы
начнете делать изменения, убедите сь, что вы сделали бэкап всего - или
еще лучше, используйте тестовый Linux. Нет гарантий, что вы не
сделаете что-то неправильно, а поломанный процесс загрузки может
привести к пол омке Linux.

Если вы уверены и знаете, что делаете, начнем с просмотра вашего
скрипта /etc/ init.d/rc. В конце файла вы найдете что-то вроде следующих
строк (хотя, я его сильно упрости л):

for i in /etc/rc$runlevel.d/S*
do
case "$runlevel" in
0|6) startup $i stop ;;

*) startup $i start ;;
esac
done


Вы можете заставить загрузочные процессы запускаться параллельно, сделав неболь
шое изменение
в коде:

*) startup $i start & ;;


Сделав это, я запустил свою проверку времени и получил эти результаты:

$ time time_booting hector

real 1m44.105s
user 0m0.613s
sys 0m0.674s


Это более, чем на 1 минуту быстрее.

К сожалению, у этой техники есть потенциальный недостаток. При
нормальной загру зке все запускается и завершается в порядке очереди.
Запуская каждый процесс параллельн о, вы не можете гарантировать, что
один процесс не захватит критическую секцию раньше, чем другой, от
которого он зависит будет завершен. Эта техника может работать у вас, но
возмож ны большие отклонения, чем планировалось.


Использование cinit для упрощения процесса

Чтобы избежать потенциальной проблемы, вам нужно модифицировать скрипт
так, что бы он проверял, что все зависимости удовлетворены перед тем,
как сервис будет запущен. Вы можете упростить этот процесс, установив
cinit, программу, спроектированную для включения параллельной загрузки
процессов и обработки зависимостей приложения. Однако, cinit не для
трусов или новичков. Вы не можете просто поменять init на cinit - вам
действительно нужно знать, что вы делаете. Это значит, что если вы
знаете, что делаете, то cinit может быть очень полезен.

Основная идея cinit проста - перейти в директорию, содержащую
упорядоченные наборы ссылок на приложения, которые вам нужно запустить.
Вместо этого, cinit предоставляет набор директорий (в /etc/cinit) - одну
для запуска каждого сервиса. Каждая директория содержит с сылку
(calledon) , которая указывает на приложение, которое должно быть
запущено. Другая особенность - две субдиректории: должны содержать
ссылки на сервисы, которые являются критическими для вашего нового
сервиса, и могут содержать ссылки на второстепенные сервисы, которые вы
хотите запускать раньше вашего нового. Файл параметров содержит (или
может быть ссылкой на) параметры, требующиеся сервису.

Это было краткое описание cinit. Давайте посмотрим пример:

$ ls -l /etc/cinit/pcmcia/modprobe/
lrwxrwxrwx 1 bainm bainm 14 2006-04-06 18:07 on -> /sbin/modprobe
-rw-r--r-- 1 bainm bainm 6 2006-04-06 18:09 on.params
$ cat /etc/cinit/pcmcia_module/on.params
pcmcia


Вы можете видеть, что сервис modprobe не имеет зависимостей. Однако,
следующий пример (cardmgr) требует, чтобы сервис modprobe стоял раньше,
чем он может быть запущен:

$ ls -l /etc/cinit/pcmcia/cardmgr/*
lrwxrwxrwx 1 bainm bainm 13 2006-04-06 18:20 pcmcia/cardmgr/on -> /sbin/cardmgr

pcmcia/cardmgr/needs:
total 0
lrwxrwxrwx 1 bainm bainm 20 2006-04-06 18:22 pcmcia_modules -> /etc/cinit/modprobe/


Вы можете прочесть больше о настройке cinit на веб-сайте Nico
Schottelius. Этот сайт также содержит несколько примеров конфигурации.

После двух дней работы с cinit, я получил следующие результаты:

$ time time_booting hector

real 2m03.003s
user 0m0.841s
sys 0m0.762s


, другой продукт, который использует параллельный запуск сервисов, это другой в
ыбор, заслуживающий проверки. Он все еще находится в процессе
разработки, и не имеет поддержки некоторых вещей, как cron, но похоже,
что он может использоваться и обычными(повседневными) пользователями, а
не только экспертами.

В зависимости от того, как хорошо вы понимаете Linux и насколько вы
отчаяны, вы можете сократить время загрузки. Вы можете пойти быстрым,
но потенциально опасным путем, либо вы можете потратить некоторое время
и силы для менее рискованного решения.
1200 Прочтений •  [Быстрая загрузка Linux с параллельным запуском сервисов (boot tune linux init)] [08.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• Быстрая загрузка Linux с параллельн... Ukraine Vova 08.05.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка