LINUX.ORG.RU

Ускорение загрузки Gnome.


0

0

Статья о попытке разобраться почему Gnome так долго загружается и как от этого избавится ("Analyzing and Improving GNOME Startup Time"). В итоге получилось уменьшить время загрузки примерно на 50 процентов.

>>> Статья

anonymous

Проверено: Shaman007 ()

Интересно, что психологически приятнее слышать человеку: "примерно на 50%" или "примерно вдвое" ?

a1s2d3
()

Дык вродеж Гном был офигенно быстрый и экономный к ресурсам?
Али как? %)

Zver
()

Статья на мой взгляд неплохая, читать ее стоит.

Там написано, что у Гнома узкое место -- ввод-вывод, особенно чтение кучи файлов с диска. Предлагается

1) слить конфиг в один файл (7 сек)

2) отключить фонт-сервер в конфиге иксов, если таковой не используется (5 сек)

3) сделать cat $i >/dev/null для наиболее востребованных библиотек (5-7 секунд)

4) задвинуть загрузку скрин-сейвера на 25 сек в будущее (простой шелл скрипт)

5) пропатчить чтение конфига, чтобы оно парсило хмл параллельно с загрузкой, а не сначало грузило, потом разбиралось

6) выкинуть ненужные локали, оставить нужные.

Статья основана на профайлере, стрэйсе и т.п. вещах, т.е. товарищ серьезно подошел к задаче.

Гном не использую, но лично мне статья полезна именно общим подходом.

А вообще, хорошо бы научить sysV init параллелиться. Половину времени загрузки -- либо винт трещит, либо кулер надрывается, но НЕ ОДНОВРЕМЕННО!

Профайлить сам не профайлил. Хорошая статья все-таки.

lodin ★★★★
()
Ответ на: комментарий от anonymous

В полтора было бы, при увеличении на 50% А так вдвое :)

anonymous
()

>Статья о попытке разобраться почему Gnome так долго загружается и как от этого избавится

... и как от этого Гнома избавиться? Снести нафиг да и все дела. Горбатого могила исправит.

anonymous
()
Ответ на: комментарий от yx

> 50% это не вдвое

А во сколько? Было 100%, уменьшили на 50%, сколько осталось?

anonymous
()
Ответ на: комментарий от yx

ух, мы все с нетерпением ждём ответа. Что это за непифагорову арифметику ты изобрёл?

anonymous
()
Ответ на: комментарий от grob

Спасибо!

Периодически читал про такие вещи. Приду домой, скачаю.

TODO: my /etc backup...

А еще надо свой анакронд написать... эх... life''s too short

lodin ★★★★
()
Ответ на: комментарий от anonymous

>Снести нафиг да и все дела. Горбатого могила исправит.

1) ГТК-то все равно нужно.

2) Статья полезна как пример поиска узких мест и их "расширения".

lodin ★★★★
()

Статья из серии "как настроить сервер, для которого критично время перезагрузки" :-) Лично мне абсолютно все равно сколько грузится GNOME - 30 секунд или 60. Все равно я его стартую два раза в неделю, а остальное время он просто работает :-)

no-dashi ★★★★★
()
Ответ на: комментарий от lodin

> А вообще, хорошо бы научить sysV init параллелиться.

Обещают сделать в FC5.

atrus ★★★★★
()

комменты как всегда рулят

kelyar ★★★★★
()
Ответ на: комментарий от xenophobe

> А если на ноуте?

hibernate

> И не раз в день?

Это ещё зачем?

AP ★★★★★
()
Ответ на: комментарий от WFrag

Хотя он, наверное, в рамках этой программы исследования и вел.

P.S. Дата обновления статьи порадовала :)

WFrag ★★★★
()

По секрету сообщу то, чего автор не заметил. При старте гнома, если на панели есть индикатор клавиатуры, два раза грузится немаленький xml файл xorg.xml (или один раз, если индикатора нет - в gnome-settings-daemon). Есть маза перетащить соотв. функции в иксы, в расширение xkb - но это только перспектива...

svu ★★★★★
()
Ответ на: комментарий от lodin

> либо винт трещит, либо кулер надрывается, но НЕ ОДНОВРЕМЕННО!

ДА ВЫ НЕНАВИДИТЕ СВОЙ КОМП!:)

svu ★★★★★
()

> when running gnome-session from the shell on a fake X display, time until the disk stops spinning is >30 seconds

Мамочки! Ничего себе, монстра вырастили! У меня ВСЯ слака с иксами и fvwm грузится за 45 секунд!!!! Кошмар, его пора переименовывать в гоблина.

anonymous
()
Ответ на: комментарий от svu

> По секрету сообщу то, чего автор не заметил. При старте гнома, если на панели есть индикатор клавиатуры, два раза грузится немаленький xml файл xorg.xml (или один раз, если индикатора нет - в gnome-settings-daemon). Есть маза перетащить соотв. функции в иксы, в расширение xkb - но это только перспектива...

... и сделать xorg частью проекта GNOME. Потом и kernel туда же, до кучи. Знаем мы наполеоновские планы гномиков, очень хорошо знаем :)

anonymous
()
Ответ на: комментарий от anonymous

Ну ты хитрый, попугаев с километрами сравнивать. У меня сейас гном секунд 5 грузится, а на старой машине - секунд 20-30.

WFrag ★★★★
()
Ответ на: комментарий от anonymous

> ... и сделать xorg частью проекта GNOME. Потом и kernel туда же, до кучи. Знаем мы наполеоновские планы гномиков, очень хорошо знаем :)

Не, все будет отдельно. Зачем гному чужие багрепорты. Просто заточено все будет так, как надо...:) Кстати, IIRC daniel stone уже потихоньку делает каталог конфиг-опций в расширении xkb. Тогда оный xml будет парситься один раз, на стороне X server.

svu ★★★★★
()
Ответ на: комментарий от anonymous

>> when running gnome-session from the shell on a fake X display, time until the disk stops spinning is >30 seconds

> Мамочки! Ничего себе, монстра вырастили! У меня ВСЯ слака с иксами и fvwm грузится за 45 секунд!!!! Кошмар, его пора переименовывать в гоблина.

Сейчас сделал в своём fvwm рестарт в KDE 3.4.2. Была запущена мозилла и licq. Весь процесс занял 22 секунды - при том, что секунды 4 оно зачем-то задумчиво разгоняло CD в приводе. Гномы, да вы офигели совсем!!!!

anonymous
()
Ответ на: комментарий от anonymous

> Гномы, да вы офигели совсем!!!!

"Детей рожала - мучалась. Думает, новую жизнь получить - и без мучений. Ты что, без мучений хочешь?" (с) Батька Бурнаш.

svu ★★★★★
()
Ответ на: комментарий от WFrag

> Ну ты хитрый, попугаев с километрами сравнивать. У меня сейас гном секунд 5 грузится, а на старой машине - секунд 20-30.

Как ты это засекал, интересно? Сделай у себя WM по дефолту fvwm, ПЕРЕЗАГРУЗИ МАШИНУ, а потом из загрузившегося fvwm - рестарт в гнома. Подсказать, как это делается, или сам справишься? Вот тогда и поговорим.

anonymous
()
Ответ на: комментарий от svu

> "Детей рожала - мучалась. Думает, новую жизнь получить - и без мучений. Ты что, без мучений хочешь?" (с) Батька Бурнаш.

Ну, рожайте, мучайтесь, мазохисты-гномолюбы. А я буду наслаждаться работой в KDE :)

anonymous
()
Ответ на: комментарий от anonymous

> Как ты это засекал, интересно? Сделай у себя WM по дефолту fvwm, ПЕРЕЗАГРУЗИ МАШИНУ, а потом из загрузившегося fvwm - рестарт в гнома. Подсказать, как это делается, или сам справишься? Вот тогда и поговорим.

Да, кстати. И НИКАКИХ GDM! У меня xdm, из него стартует fvwm. Так что никакие гномы и его либы (как и KDE) не грузятся раньше положенного.

anonymous
()
Ответ на: комментарий от WFrag

> У меня сейас гном секунд 5 грузится, а на старой машине - секунд 20-30.

Вообще говоря, можно ещё быстрее. Читайте вчерашнюю подборку RSS-агрегатора planet.gnome.org

AP ★★★★★
()
Ответ на: комментарий от AP

Ну, так и KDE можно быстрее. А меня интересует конфигурация, в которой не покопались шаловливые ручки, - как общий знаменатель. Я KDE не ковырял, а гнома у меня нет вообще (бритва Оккама отрезала).

anonymous
()

> Ускорение загрузки Gnome.

Увлекательная статья: "Как приделать черепахе костыли." ?

anonymous
()

>Статья о попытке разобраться почему Gnome так долго загружается

А что, он долго грузится? На старенькой 440BX с винтом на ATA33:

Fluxbox - 15сек
Gnome - 20сек
KDE - 40сек

Gentoo.

KRoN73 ★★★★★
()
Ответ на: комментарий от anonymous

Ну, погорячился. Не 5 сек, а где-то 9.

Просто я обычно из gdm запускаю, там чуть быстрее получается - секунд 7.

На глаз сложно оценивать :)

WFrag ★★★★
()
Ответ на: комментарий от WFrag

Кстати, не сказал бы, что, например, fvwm так уж мнгновенно стартует - тоже пара секунд уходит.

А вообще мне пофиг на скорость загрузки. До xdm у меня вообще больше минут проходит :)

WFrag ★★★★
()

На самом деле потом за дело взялся Нат Фридман и ускорил загрузку еще в два раза, читайте здесь:

http://nat.org/2005/october/#Keep-It-Simple-Stupid

Today over beers with some of the Novell hackers I wrote a new session manager for GNOME. It goes like this:

#!/bin/sh eval `ssh-agent` gnome-settings-daemon & gnome-panel & nautilus -n & beagled --bg & gnome-screensaver & exec metacity

Login time on my machine, as measured with a stopwatch, has been reduced from 10 seconds to 3 seconds (warm buffer cache in both cases), and my computer now has more free memory.

The panel draws itself in one second, and two of those seconds are just waiting for Nautilus to draw the desktop. With preloading during boot and a fix for the slow Nautilus desktop rendering, I think it's probably possible to have a 1-2 second login on most hardware.

anonymous
()
Ответ на: комментарий от WFrag

> Кстати, не сказал бы, что, например, fvwm так уж мнгновенно стартует - тоже пара секунд уходит.

Да, где-то так. Наверно, зависит ещё от конфигов, у меня они довольно навороченные.

anonymous
()
Ответ на: комментарий от anonymous

После чего за дело взялся Jeff Waugh и улучшил вариант Нэта :)

AP ★★★★★
()
Ответ на: комментарий от init

>>>>А если на ноуте? И не раз в день?

>>А почему не использовать suspend?

Хе-хе. Наверное, потому что в кривом дистре это хрен работает, а ковырять ручками лень :).

Energizer
()
Ответ на: комментарий от KRoN73

> А что, он долго грузится? На старенькой 440BX с винтом на ATA33: Fluxbox - 15сек Gnome - 20сек KDE - 40сек Gentoo.

Сдаётся мне, что циферки эти KRoN73 придумал сам. Уж больно они круглые. Да и номера версий он указать не удосужился...

anonymous
()
Ответ на: комментарий от svu

> При старте гнома, если на панели есть индикатор
> клавиатуры, два раза грузится немаленький xml файл
> xorg.xml
А почему нельзя было его заmmap'ить, чтобы не грузился
ни разу?

anonymous
()
Ответ на: комментарий от anonymous

Как это ни разу? А откуда он тогда в процессоре возьмется? Один раз-то должен загрузиться :)

anonymous
()
Ответ на: комментарий от KRoN73

> Fluxbox - 15сек > Gnome - 20сек > KDE - 40сек

Странно... Чем же ты так притормозил Flux? У меня Fluxbox + Fluxter + 2 докаппа (wmmon, wmnet) загружаются за 5-6 секунд после ребута. КДЕ сейчас специально проверил - 22 сек. Это на FreeBSD всё. Насчёт Гнома не знаю, после того как попробовал 2.0 когда то, желание его использовать больше не возникало :)

anonymous
()
Ответ на: комментарий от anonymous

IMHO при mmap'е файл не читается а напрямую адресуется.

Без ммап:

char *data; data = malloc(size); fd = open(filename); read(fd, data, size);

C mmap:

char *data; fd = open(filename); data = mmap(...);

То есть, в первом случае нужно файл целиком загрузить, а во втором нет.

Хотя, если это один большой XML то его в любом случае надо будет целиком читать скорее всего.

McGray ★★
()
Ответ на: комментарий от anonymous

Дело не в mmap для файла. Это все фигня. Хуже то, что при этом надо строить DOM. В данный момент строятся два DOM-а. Надо бы - один. Причем именно внутри X server.

svu ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.