Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
wiki:ubuntu_optimization [2013/09/20 15:34] [Prelink] - удалил. В установке prelink нет необходимости, так как в Ubuntu задейстован альтернативный механизм линковки DT_GNU_HASH! |
wiki:ubuntu_optimization [2018/01/10 11:59] [Настройка Swappiness] |
||
---|---|---|---|
Строка 14: | Строка 14: | ||
В Ubuntu по умолчанию установлена утилита ''readahead'', которая позволяет ускорить загрузку системы. Для того чтобы эта утилита давала максимальный эффект, рекомендуется время от времени загружать систему с параметром ''profile'', который обновляет кэши readahead. Чтобы сделать это, надо во время загрузки компьютера зайти в меню [[GRUB]], зажав <key>S</key> при включении компьютера, затем выбрать строку c названием Ubuntu и нажать кнопку <key>e</key> для редактирования параметров загрузки. В появившемся тексте найдите строку вида((Строка может незначительно отличатся в зависимости от версии системы.)) | В Ubuntu по умолчанию установлена утилита ''readahead'', которая позволяет ускорить загрузку системы. Для того чтобы эта утилита давала максимальный эффект, рекомендуется время от времени загружать систему с параметром ''profile'', который обновляет кэши readahead. Чтобы сделать это, надо во время загрузки компьютера зайти в меню [[GRUB]], зажав <key>S</key> при включении компьютера, затем выбрать строку c названием Ubuntu и нажать кнопку <key>e</key> для редактирования параметров загрузки. В появившемся тексте найдите строку вида((Строка может незначительно отличатся в зависимости от версии системы.)) | ||
<file>linux /vmlinuz-3.5.0-26-generic root=UUID=39efddef-c527-4bd0-bde5-82278c4fdeb3 ro quiet splash $vt_handoff</file> | <file>linux /vmlinuz-3.5.0-26-generic root=UUID=39efddef-c527-4bd0-bde5-82278c4fdeb3 ro quiet splash $vt_handoff</file> | ||
- | и добавьте слово profile в конец строки (не забудьте поставить пробел перед profile). Для загрузки системы нажмите <key>C-x</key> или <key>F10</key>. С этой опцией система будет загружаться дольше обычного, так как будет поизводиться сбор информации. После полной загрузки нужно еще раз перезагрузиться. | + | и добавьте слово profile в конец строки (не забудьте поставить пробел перед profile). Для загрузки системы нажмите <key>C-x</key> или <key>F10</key>. С этой опцией система будет загружаться дольше обычного, так как будет производиться сбор информации. После полной загрузки нужно еще раз перезагрузиться. |
Эти действия обновляют информацию о всех используемых на этапе загрузки библиотеках и утилитах в файле ///etc/readahead/boot//, а в ///etc/readahead/desktop// - информацию о загрузке десктоп окружения. При следующей загрузке сервис readahead, при помощи программы ///sbin/readahead-list//, загрузит библиотеки и программы, упоминающиеся в индексе, в page cache, что немного уменьшит время загрузки. | Эти действия обновляют информацию о всех используемых на этапе загрузки библиотеках и утилитах в файле ///etc/readahead/boot//, а в ///etc/readahead/desktop// - информацию о загрузке десктоп окружения. При следующей загрузке сервис readahead, при помощи программы ///sbin/readahead-list//, загрузит библиотеки и программы, упоминающиеся в индексе, в page cache, что немного уменьшит время загрузки. | ||
Строка 146: | Строка 146: | ||
==== Настройка Swappiness ==== | ==== Настройка Swappiness ==== | ||
- | Изменим поведение Ubuntu в отношении использования ОЗУ и подкачки. Есть такой параметр vm.swappiness, который по умолчанию имеет значение 60, и контролирует процент свободной памяти, при которой начнется активный сброс страниц в раздел [[swap]]. Иными словами, при 100-60=40% занятой памяти, Ubuntu уже начнет использовать раздел swap. При большом количестве ОЗУ в компьютере, лучше изменить параметр vm.swappiness до 10 и тем самым приказать Ubuntu не использовать swap пока занятая ОЗУ не достигнет 100-10=90%. В консоли введите следующую команду:<code bash>gksu gedit /etc/sysctl.conf</code>Добавьте строку в конец файла:<file>vm.swappiness=10</file> | + | Изменим поведение Ubuntu в отношении использования ОЗУ и подкачки. Есть такой параметр vm.swappiness, который по умолчанию имеет значение 60, и контролирует, каким образом система будет работать с файлом подкачки ([[swap]]). Этот параметр может иметь следующие значения: |
- | ---- | + | ^ Значение параметра ^ Описание ^ |
+ | | vm.swappiness = 0 | Ядро будет использовать файл подкачки только в том случае, если значение свободной оперативной памяти будет меньше указанного в параметре vm.min_free_kbytes. | | ||
+ | | vm.swappiness = 1 | Для ядер версии 3.5 и выше, минимальное использование файла подкачки без его полного отключения. | | ||
+ | | vm.swappiness = 10 | Это значение часто рекомендуют для увеличения производительности при наличии достаточного объема оперативной памяти на компьютере | | ||
+ | | vm.swappiness = 60 | Значение по умолчанию | | ||
+ | | vm.swappiness = 100 | Система будет использовать файл подкачки очень интенсивно (НЕ РЕКОМЕНДУЕТСЯ, т.к. вызовет сильное замедление работы системы) | | ||
+ | При большом количестве ОЗУ в компьютере, лучше изменить параметр vm.swappiness до 10 либо до 1. В консоли введите следующую команду:<code bash>gksu gedit /etc/sysctl.conf</code>Добавьте строку в конец файла:<file>vm.swappiness=10</file> либо <file>vm.swappiness=1</file> | ||
+ | |||
+ | При этом "агрессивность" swap опредиляется несколькими праметрами | ||
+ | <code bash>swap_tendency = mapped_ratio/2 + distress + swappiness</code> | ||
+ | |||
+ | Где | ||
+ | |||
+ | **swapiness** - определенный парамет (или системой или переопределен пользователем vm.swappiness) | ||
+ | |||
+ | **distress** - сколько раз ядро пыталось освободить память (каждый раз повышается на 1, изначальное число 0) | ||
+ | |||
+ | **mapped_ratio** - процент занятой оперативной памяти | ||
+ | |||
+ | **swap_tendency** - если число 100 и более, то система будет свопить (второе ограничение - остаток свободной памяти менее 64МиБ) | ||
+ | |||
+ | Пример | ||
+ | |||
+ | Система еще не свопила перед этим, swappiness установлен по дефолту 60. То есть система первый раз засвопит при достижении значения свободной памяти в 80% | ||
+ | <code bash>100 = x/2 + 0 + 60</code> | ||
+ | |||
+ | Соответственно, с этим параметром стоит быть предельно осторожным, так как и увеличение и уменьшение параметра может привести к значительному замедлению системы. | ||
+ | |||
+ | //vm.swappiness = 100// замедление может быть заметно сразу | ||
+ | |||
+ | //vm.swappiness ~ 0// проявятся "жуткие" тормоза в процессе использования системы, особенно под нагрузкой | ||
+ | |||
+ | |||
+ | ==== Параллельная загрузка ==== | ||
<note important>Только для версии 9.04 и ниже!</note> | <note important>Только для версии 9.04 и ниже!</note> | ||
- | <note warning>Данный пункт («Параллельная» загрузка) не работает в 7.10! Страница с багом [[https://bugs.launchpad.net/ubuntu/+source/hal/+bug/149881|здесь]]</note> | + | <note warning>Данный пункт («Параллельная» загрузка) не работает в 7.10! Страница с багом [[https://bugs.launchpad.net/ubuntu/+source/hal/+bug/149881|здесь]]\\ Данный пункт ("Параллельная загрузка") не работает в 14.04! В связи с появлением upstart</note> |
* **"Параллельная" загрузка**. Если Вы имеете двухядерный процессор, или он поддерживает технологию hyperthreading - то их можно задействовать в системе. Откройте терминал и выполните команду:<code bash>gksu gedit /etc/init.d/rc</code>найдите **CONCURRENCY=none** и замените на:<file>CONCURRENCY=shell</file>Сохраните и перезагрузите компьютер. | * **"Параллельная" загрузка**. Если Вы имеете двухядерный процессор, или он поддерживает технологию hyperthreading - то их можно задействовать в системе. Откройте терминал и выполните команду:<code bash>gksu gedit /etc/init.d/rc</code>найдите **CONCURRENCY=none** и замените на:<file>CONCURRENCY=shell</file>Сохраните и перезагрузите компьютер. | ||
- | |||