Как я оптимизировал систему: Ubuntu 8.04 Hardy

    Вчера собрался ускорить работу(получилось достаточно ощутимо) и загрузку системы(30 секунд, против полутора минут), почитал многие how-to.
    Опишу что и где я улучшал. Итак о способах, по порядку.

    1. Прописываем hostname.
    sudo vim /etc/hosts
    Было:
    127.0.0.1 localhost
    127.0.1.1 lib

    Стало:
    127.0.0.1 localhost lib
    127.0.1.1 lib

    Подписываем то, что справа от вызова консоли находится, например: lib@laptop:~$, то вписываем laptop.
    Это несколько ускоряет загрузку системы, и ускоряет запуск некоторых программ.

    2. Использование ядра, сконфигурированного под Вашу систему, подробнее как можно собрать ядро в Ubuntu. По ссылке написано, как собирается ядро для 6.10, однако советы справедливы и для 8.04.

    3. Несколько ускоряем работу ext3 файловой системы:
    sudo vim /boot/grub/menu.lst
    Добавляем в существующие строки:
    # defoptions=quiet splash rootflags=data=writeback
    # altoptions=(recovery mode) single rootflags=data=writeback
    У меня в defoptions убран quiet и splash дополнительно, и добавлен vga=0x324, для framebuffer.
    Обновляем grub.
    sudo update-grub
    Правим fstab:
    sudo vim /etc/fstab
    В моём случае, добавляем data=writeback:
    UUID=32903d9a-98a8-4048-8472-a0896b81b3fa / ext3 relatime,errors=remount-ro,noatime,data=writeback 0 1
    Выполняем:
    sudo tune2fs -o journal_data_writeback /dev/sda1
    /dev/sda1 это имя раздела, на котором лежит /
    Проверяем:
    sudo tune2fs -l /dev/sda1
    Этот метод череват тем, что можете потерять некоторые данные при неожиданном выключении системы, например если у вас неожиданно отключилось питание(мне это не грозит, поскольку у меня ещё батарея есть)

    4. Несколько ускоряем сеть(отключаем IPv6):
    sudo vim /etc/modprobe.d/bad_list
    Добавляем: alias net-pf-10 off
    В about:config в Firefox отключаем network.dns.disableIPv6, ставим true.
    Там же:
    network.http.pipelining true
    network.http.pipelining.firstrequest true
    network.http.pipelining.maxrequests 8
    network.http.proxy.pipelining true
    nglayout.initialpaint.delay 0
    browser.turbo.enabled true
    network.http.max-connections-per-server 8
    network.http.max-persistent-connections-per-proxy 8
    network.http.max-persistent-connections-per-server 8

    Это ускорит загрузку страниц.
    Добавляем в /etc/environment:
    MOZ_DISABLE_PANGO=1
    Это позволит ускорить отрисовку страниц в Firefox.

    5. Убираем ненужные консоли(которые вызываются по Ctrl+Alt+F1..8):
    sudo rm /etc/event.d/tty[3-6]
    6. Ускоряем загрузку системы:
    sudo vim /etc/init.d/rc
    Выставляем: CONCURRENCY=shell
    Это устанавливает множественную загрузку в одно и то же время, особенно хороший эффект имеет, если у Вас многоядерная система.
    7. Удаляем ненужные сервисы из загрузки:
    sudo aptitude install sysv-rc-conf
    sudo sysv-rc-conf

    Подробно о сервисах написано на ubuntuforums.org
    Дополнительно я отключал apache и mysql, я их запускаю непосредственно, когда хочу поработать с локальным вебсервером.

    8. Если у Вас постоянное подключение к интернету, добавляем в /etc/sysctl.conf.
    # Tweaks for faster broadband...
    net.core.rmem_default = 524288
    net.core.rmem_max = 524288
    net.core.wmem_default = 524288
    net.core.wmem_max = 524288
    net.ipv4.tcp_wmem = 4096 87380 524288
    net.ipv4.tcp_rmem = 4096 87380 524288
    net.ipv4.tcp_mem = 524288 524288 524288
    net.ipv4.tcp_rfc1337 = 1
    net.ipv4.ip_no_pmtu_disc = 0
    net.ipv4.tcp_sack = 1
    net.ipv4.tcp_fack = 1
    net.ipv4.tcp_window_scaling = 1
    net.ipv4.tcp_timestamps = 1
    net.ipv4.tcp_ecn = 0
    net.ipv4.route.flush = 1


    Всё это позволило мне ускорить работу системы на порядок, однако есть ещё пара способов, которые я рекомендовать не могу, поскольку не совсем понимаю как они работают, а именно:
    установленный пакет preload(sudo aptitude install preload), prelink(sudo aptitude install prelink)
    Подробнее о prelink здесь.

    Удачного использования!
    Поделиться публикацией

    Комментарии 47

      0
      Хабракат?
        0
        Спасибо, забыл совсем.
      • НЛО прилетело и опубликовало эту надпись здесь
        • НЛО прилетело и опубликовало эту надпись здесь
            –2
            Заметно бы подняло тему еще описание целесообразности этих действий.
            • НЛО прилетело и опубликовало эту надпись здесь
                +1
                Насчёт скорости загрузки я написал, что с полутора минут до 30 секунд, а скорость работы самой системы слишком субъективный параметр. К тому же у меня не стоит ни Gnome, ни KDE.
                Fluxbox + wdm. В качестве эмулятора терминала: tilda
            • НЛО прилетело и опубликовало эту надпись здесь
                0
                А сколько места обычно выделяете в /etc?
                  0
                  У меня он сейчас занимает ~20 Мб
                  • НЛО прилетело и опубликовало эту надпись здесь
                      0
                      У меня отдельно /, /home, /var, /usr
                      Буду перестраивать, отдельным сделаю…
                      • НЛО прилетело и опубликовало эту надпись здесь
                          0
                          а можно поподробнее, что лучше да и как? я раньше слышал о таком, но думал это все дает минимальный прирост.
                          • НЛО прилетело и опубликовало эту надпись здесь
                              0
                              про хоум это понятно, я про остальные каталоги типа /var, /etc
                              а в случае краха, я думаю я не смогу восстановить и так, уж слишком малы мои познания в этой области :)
                              • НЛО прилетело и опубликовало эту надпись здесь
                                  0
                                  По большому счету раздельные партиции необходимы когда вы каждый раздел форматируете в свою файловую систему. Так на пример раздел /etc я бы порекомендовал форматровать в raiserfs, потому как она дает превосходство при работе с файлами малого размера (производительность возрастает на порядок — 10-15 раз).
                                  Для /home предпочтительней ext3, потому как она журналируемая фс.
                      0
                      уж лучше тогда /etc кидать в ramfs
                        0
                        Насколько я знаю, в ubuntu нет такой FS в инсталяции.
                          +1
                          в убунту теперь не ядро Linux и его нельзя пересобрать?
                          и тем более оно там есть
                          cat /proc/filesystems|grep ramfs
                        0
                        В initrd его!
                        А по окончанию загрузки производить синхронизацию с тем, что на диске.
                        0
                        sudo aptitude search bum
                          0
                          У Конника уже почитал, спасибо.
                          +3
                          весьма сомнительные твики без разъяснения того, к чему это ведет.
                          >почитал многие how-to
                          не все howto заслуживают того, чтобы их читать, а некоторые и вовсе незаслуживают.
                            +3
                            1. При старте apache, например, определяется имя хоста, для этого парсится /etc/hosts и выбирается ip которому будет соответствовать localhost/
                            2. Тут всё понятно, ядро работает быстрее, если в него включено только то, что нужно.
                            3. Режим data=writeback
                            В режиме data=writeback, файловая система ext3 не выполняет какого либо журналирования данных. С подобным видом журналирования вы имеете дело в файловых системах XFS, JFS и ReiserFS (журналирование только метаданных). Это не защитит от разрушения данные в обновляемых файлах в случае неожиданной перезагрузки. Несмотря на этот недостаток, режим data=writeback обеспечивает самую высокую производительность ext3 при всех условиях.
                            4. Ну если не используете ipv6, то можно и отключить, это по крайней мере ускорит поиск сайта.
                            4.1
                            network.http.pipelining true
                            network.http.pipelining.firstrequest true
                            network.http.pipelining.maxrequests 8
                            network.http.proxy.pipelining true
                            network.http.pipelining позволяет ускорить загрузку страницы за счёт того что посылаются запросы до ответа сервера.
                            nglayout.initialpaint.delay browser.turbo.enabled true
                            network.http.max-connections-per-server 8
                            network.http.max-persistent-connections-per-proxy 8
                            network.http.max-persistent-connections-per-server 8
                            Просто множественные подключения к серверу.
                            5. Если оставить эти консоли, то они будут кушать оперативную память, хотя вы их не используете.
                            6. Тут я думаю всё ясно, просто одновременный запуск нескольких процессов.
                            7. Нет ненужных сервисов — они не запускаются — не занимают оперативную память и процессорное время.
                            8. Это настройки сети, тут по каждому параметру в Гугл.
                              –2
                              5. Сильно кушают?
                              6. Замеченные побочные эффекты?
                              7. Вы забыли добавить «так-то», капитан.
                              8. Это понятно, что настройки сети — в нашей деревне тоже аглицкий знают. Пишете топик, так почему самому бы не погуглить? Уверен, реакция была бы самая позитивная.
                              0
                              Самое печальное, что половина времени загрузки уходит на биос (т.е. от включения компьютера до загрузки grub-stage2).
                              Впрочем, можно и пережить тем, кто не часто компьютер выключает полностью.
                                0
                                подкрути настройки bios
                                  0
                                  В какую сторону крутить?
                                    0
                                    в сторону отключения тестов оперативки, поиска IDE/Sata устройств и т.д.
                                +1
                                rootflags=data=writeback

                                ни в коем случае. режим называется «прощай данные».
                                даже если светом не мигнут, то внеплановые hard-перезагрузки по разным причинам, но таки, бывают.
                                  0
                                  ух, а фряку твикать все-таки интереснее :)
                                    0
                                    Еще для многоядерных систем можно в /etc/init.d/rc поменять CONCURRENCY=none на CONCURRENCY=shell. Но на свой страх и риск!
                                      0
                                      народ подскажите — вот скоро хочу ставить на мой основной комп ubuntu и основные фильмы музыка и т.п (400 гигов) лежит в ntfs.
                                      остальные 50 гигов на сам линукс.
                                      Быстро ли работает убунту с ntfs? )) С Уважением rusik.(Ссори за небольшой оффтоп)
                                        0
                                        ты не заметишь разницы :)
                                          0
                                          Для хранилища меда NTFS вполне сгодится
                                          0
                                          Некислое ускорение — в 10 раз! Надо попробовать.

                                          А настройки network.http.* вряд ли можно конкретные советовать. Для кого-то и дефолтные будут пошустрее.
                                            0
                                            На самом деле ниочем статья.
                                              0
                                              с объяснениями может было бы и лучше… но всеравно — спасибо за статью!
                                              этакий speed up digest: D

                                              у меня как раз вопрос скорости убунты очень актуален… (надеюсь после всех твиков) был :)
                                                0
                                                Убираем ненужные консоли

                                                *подавился чаем*
                                                Нифига себе ненужные O_o
                                                Столько раз спасали.
                                                  0
                                                  Не все же консоли убираются, а только с третьей по шестую, две первых остаются в Вашем рапоряжении
                                                  если нужно больше консолей — есть screen
                                                  В самом крайнем случае можно и в двух уместиться
                                                    0
                                                    Тогда порядок :)
                                                    Просто в топике написано:
                                                    которые вызываются по Ctrl+Alt+F1..8
                                                      0
                                                      ну так надо код смотреть, а не документацию к нему :)
                                                  0
                                                  На счет writeback…
                                                  Раз так, то может лучше использовать ext2. Или в ext3 есть еще какие-то преимущества, кроме «журналирования» ))?
                                                  Похожая ситуация с Fat и Ntfs. Если хочешь надежного хранения данных, то Ntfs. Если хочешь, совсем чуток, выйграть в производительности и занимаемой памяти, то используй Fat
                                                    0
                                                    Хм, Panasonic CF-W2, с 900 Мгц центрино на борту и 256 ОЗУ, совершенно невозможно сопоставить с KDE3. Даже призванный к быстроте Xubuntu, также показывает себя не с лучшей стороны. Убунту великолепен, но не только как консоль :(
                                                      0
                                                      network.http.pipelining.firstrequest уже не используется

                                                      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.