Как я могу улучшить общую производительность системы Ubuntu?

346

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

Это предназначено не для конкретного приложения (например, ускорять загрузку страниц в Firefox), а для всей системы.

Желательно 1 совет за ответ, с достаточным количеством деталей, чтобы люди могли его реализовать.

Моя пара будет:

  • Установите Preload (через Центр программного обеспечения или sudo apt-get install preload);
  • Изменить значение Swappiness - «которое определяет степень, в которой ядро ​​предпочитает менять местами при попытке освободить память»;

Какие у тебя?

PS: Поскольку это не уникальный ответ, а несколько полезных советов, я делаю эту вики-страницу сообщества из коробки.

Decio Lira
источник
44
Было бы неплохо упомянуть , насколько эффективна ваша подсказка: сколько улучшение вы заметите , или даже лучше, измерить ?
Жиль
5
Я не нашел никаких доказательств того, что изменение подкачки имеет какой-либо положительный эффект. Это может дать временное ощущение повышения производительности, которое, похоже, довольно быстро снижается. Я не видел никаких конкретных доказательств в форме тестов, которые доказали бы эффективность изменения параметра
swapiness
5
Я сомневаюсь, что это оказывает какое-либо заметное влияние на производительность. В ttys почти не использовалась память, и не было бы значительного использования процессора.
txwikinger
6
Не является ли преждевременная оптимизация корнем всего зла? ( en.wikipedia.org/wiki/Program_optimization#Quotes )
Алехандро
2
@ Алехандро, эта цитата предполагает, что вы сделали это так хорошо, как могли.
Турбьёрн Равн Андерсен

Ответы:

178

Если вы «средний Джо» , то просто ничего не делайте. Не возитесь с программами или настройками, которые вы не понимаете. Не следуйте советам, опубликованным в Интернете, о том, как улучшить производительность вашей системы, скомпилировав некоторое программное обеспечение самостоятельно или установив ядро, созданное самостоятельно.

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

Поэтому просто радуйтесь своей хорошо работающей системе. И кстати: зачем вам эти 5-процентные улучшения производительности? Это не приведет к более быстрому вводу документов в офисе или редактированию фотографий из отпуска в два раза.

И просто для ясности: если вы не обычный Джо, а разработчик / хардкорный игрок / ... нуждающийся в любом цикле, который вы можете получить, вы не цель этого комментария ...

Bananeweizen
источник
72
Настройка параметров и компиляция собственного ядра и программного обеспечения - отличный способ обучения. Я думаю, что это следует поощрять, поскольку люди знают, что, когда они что-то ломают, им, возможно, придется переустанавливать свою ОС.
Nerdfest
22
Только люди, которые действительно хотят понять, как работает ядро, должны подумать о компиляции собственного ядра. Для большинства людей они должны даже знать, что существует «ядро». Придерживайтесь стандартного ядра, и вы сможете воспользоваться регулярными обновлениями программного обеспечения.
Брэд Фигг
1
@Brad, ах, как изменилось время :) Когда я начал работать с Linux, нам пришлось скомпилировать собственное ядро, так как это было до внедрения динамических модулей. Я не скучаю по этому, хотя!
Турбьерн Равн Андерсен
1
@Nerdfest Это хороший момент, мой самый важный учитель в мире Linux, без сомнения, был руководством по Gentoo ... У меня никогда не было работающего графического интерфейса, но я много узнал о том, как работает базовая установка Linux! И это практически то же самое на всех дистрибутивах
LassePoulsen
2
Я сейчас играю с настройками производительности именно для того, чему я учусь у них. Тем не менее, есть два случая, когда я всегда хочу настроить Windows, и у меня такое же отношение к Ubuntu: 1. Система настолько медленная, что каждый помогает. 2. Система настолько быстрая, что я не могу не задаться вопросом, к чему ее можно подключить! Средние системы я оставляю в покое :) Тем не менее, определенное +1
Джон Ханна
102

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

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

Чтобы удалить приложения из 10.04, перейдите в « Система»> «Установки»> «Запуск приложений» (может отличаться в других версиях).

12 апреля вы можете выбрать запуск приложений, нажав на значок черточки . Затем введите автозагрузку и выберите «автозагрузка приложений».




альтернативный текст

И просто снимите пометки с приложений, которые вам не нужны. Но будьте уверены в этом, не просто удаляйте приложения, которые вы не знаете. Если вы не уверены, оставьте это так. Поиск Google или новый вопрос здесь о конкретных программах поможет.

Decio Lira
источник
3
Хороший! просто и эффективно. Я лично отключаю связанные с Bluetooth вещи, так как в моем ноутбуке их нет.
Децио Лира
2
Не могли бы вы объяснить / добавить ссылку, объясняющую, как просматривать и отключать / включать службы в Ubuntu.
Skizz
1
Для пользователей Kubuntu / KDE эквивалент: Кнопка меню Пуск -> Настройки системы -> Администрирование системы -> Запуск и завершение работы. Есть два раздела, один для «Автозапуска» и один для «Service Manager» (для долго работающих демонов), и вы можете запускать и останавливать службы, а также следить за тем, чтобы они не запускались как часть стандартной последовательности загрузки.
Ариэльф
76

[Отказ от ответственности] Управляйте следующим на свой страх и риск.

Тушар Неупани дает следующие советы здесь :

1. Используйте более легкие приложения (замените ваши стандартные приложения ими)

  • Gedit >> Коврик для мыши
  • Просмотрщик изображений (EOG…) >> Gpicview
  • Сетевой менеджер >> Wicd
  • Evince >> epdfview

2. Уменьшить swappiness

  • sudo vim /etc/sysctl.conf

    Изменить: vm.swappiness = 10

3. Для двухъядерных процессоров (используйте параллелизм)

  • sudo vim /etc/init.d/rc

    Изменить: CONCURRENCY = оболочка

    опция оболочки теперь устарела. Значением по умолчанию является makefile, а shell по 2010-05-14 является псевдонимом для makefile .

4. Очистите кэш apt в / var / cache / apt / archives и ненужном списке apt-sources в /etc/apt/sources.list

  • sudo apt-get autoclean

5. Установите BUM (менеджер загрузки)

  • sudo apt-get install bum

    Удалите ненужные приложения и службы из автозагрузки

6. Удалите ненужные TTY

  • sudo vim /etc/default/console-setup

    Изменить: ACTIVE_CONSOLES = »/ dev / tty [1-3]«

    Примечание: /etc/init/перейдите и измените файлы tty, которые вам НЕ нужны. Отредактируйте их и прокомментируйте строки, начинающиеся с «start on runlevel». Итак, в этом случае вы закомментируете начальную строку в файлах "tty4.conf" для файлов "tty6.conf".

7. Установите Prelink

  • sudo apt-get install prelink
  • sudo vim /etc/default/prelink

    Изменить: PRELINKING = Да

  • sudo /etc/cron.daily/prelink

    На самом деле, Prelink бесполезен с Feisty Fawn (потому что Ubuntu сейчас использует очень эффективный компоновщик времени выполнения). Кроме того, это навязчиво - оно напрямую изменяет исполняемые файлы и в конечном итоге может их сломать. НЕ делай этого.

8. Установите Preload

  • sudo apt-get install preload

9. Избавьтесь от kinit, если вы не используете спящий режим и функции сна.

  • sudo vim /etc/initramfs-tools/conf.d/resume

    Изменить: Комментарий (Поставьте # перед) RESUME = XXXX …………………….

desgua
источник
43
Это не дает никакой информации о том, почему мы должны следовать вашему совету. Некоторый контекст и ориентиры, пожалуйста.
Pixel Developer
Я отредактировал, чтобы добавить запрашиваемый «контекст» ;-)
desgua
3
Я пытался номер 3, и в комментариях над строкой для изменения были указаны допустимые параметры, и «shell» не был одним из них. Этот ответ старый? Разве комментарий не сказал мне все варианты?
Джон
1
Я также попробовал номер 3, несмотря на то, что опция «shell» не была упомянута как допустимая. После редактирования загрузка заняла в два раза больше времени, чем когда для параллелизма было установлено значение «нет». Итак, я вернулся к первоначальной настройке.
Войцех
sed -i -r '1s/(^[^#])/#\1/g' /etc/initramfs-tools/conf.d/resumeодна строка, но только добавьте комментарий, если не существует - хорошо, добавьте в сценарии :)
SergioAraujo
42

Уменьшите время ожидания меню вашего загрузчика

Звучит банально, но я обнаружил, что стандартные 10 секунд в Ubuntu слишком длинные для моих вкусов. Скажем, мой экран занимает немного времени для автоматической настройки разрешения, я вижу, что счетчик показывает 8 секунд с первого взгляда.

Я бы изменил время ожидания до 3 секунд, давая мне секунду, чтобы увидеть меню загрузки (учитывая время, в течение которого мой экран приспосабливается к разрешению). Много времени, так как нажатие клавиш со стрелками для выбора другого элемента останавливает счетчик.

Grub (до 9.10 Кармический)

sudo -i gedit /boot/grub/menu.lst

Найдите и отредактируйте строку « TIMEOUT »

Grub 2 (новые установки 9.10 Karmic и после)

sudo -i gedit /etc/default/grub

Найти и редактировать « GRUB_TIMEOUT линию», и запуститьsudo update-grub

инвертировать
источник
31

Я испытал общее повышение производительности после того, как я добавил опцию « noatime » в мои файловые системы (ext4 и reiserfs).

Я не могу предоставить тесты скорости, но я приглашаю вас попробовать и убедиться в этом.

Полезный ресурс на форуме Ubuntu: сохранение жесткого диска с noatime в fstab .

dag729
источник
4
разве реламайт уже не используется по умолчанию в Ubuntu?
ImaginaryRobots
@ImaginaryRobots: «Я испытал общее повышение производительности после того, как добавил опцию noatime в свои файловые системы (ext4 и reiserfs)». - Вы имеете в виду «релевантность»? - Нет, я имел в виду "noatime": D
dag729 30.09.10
8
Это может привести к поломке некоторых почтовых программ, использующих эту функцию и нескольких инструментов резервного копирования. Но для обычного пользователя это должно быть нормально, так как ни Thunderbird, ни Evolution не пострадают. Хотя в Ubuntu переключение с релейного времени (по умолчанию) на noatime не принесет особых улучшений. Посмотрите lwn.net/Articles/244829, как работает relaytime, и вы поймете, что это уже значительно уменьшит количество последних обновлений времени доступа.
Гюйгенс
31

Если вам не хватает оперативной памяти, используйте zramswap или zram-configиз репозитория Ubuntu. Это виртуальный своп, который сжимает неиспользуемое содержимое оперативной памяти, а не помещает его на диск (который обычно останавливает систему после того, как вы столкнулись с барьером оперативной памяти). Я практически не теряю или теряю производительность вместо того, чтобы зависать каждый раз, когда у меня заканчивается ОЗУ.

Это работает только для Natty и выше (потому что вам нужно ядро ​​2.6.37.1 или новее). Для более старых систем вы можете использовать compcache , но вам придется настроить его вручную.

Для тех, кто никогда не достигает предела оперативной памяти, это все равно дает некоторое увеличение скорости на системах с жесткими дисками , но вам лучше уменьшить перестановку, чтобы добиться того же эффекта.

Пользователи SSD: скорее всего, вы не почувствуете никакого увеличения скорости, но zramswap может значительно уменьшить износ SSD.

оборота Шнацель
источник
3
Похоже, очень полезное приложение, чтобы иметь!
Децио Лира
Это полезно для систем с низким быстродействием, интересно, почему оно не установлено по умолчанию для таких систем?
NoBugs
@NoBugs, потому что разработчики Ubuntu очень консервативны. Но он включен по умолчанию на Ubuntu Phone.
Шнацель
@Shnatsel "Google использует zram в Chrome OS, и он также доступен в качестве опции для устройств Android 4.4" ( en.wikipedia.org/wiki/Zram )
NoBugs
20

Я не уверен, что мой ответ подойдет, потому что Ubuntu обычно означает, что варианты GNOME и Ubuntu, использующие более легкие альтернативы, имеют несколько разные имена, такие как Xubuntu.

Избавление от GNOME - это первое, что я обычно предлагаю. Если вы счастливы с чем-то легким, как Fluxbox, сделайте это.

vh1
источник
Я знаю, что Archlinux - это не Ubuntu, но я увидел преувеличенное повышение производительности, когда я установил Ratpoison на свою коробку Archlinux (да, это слишком мало для кого-то, но все же
нитроусиление
3
Согласитесь, попробуйте XMonad, это круто.
Роберт Массайоли
+1. Или установите Ubuntu, но после установки переключитесь на xfce.
Дэвид Онеилл
XFCE действительно немного быстрее, но совсем немного и использует то же количество ресурсов. Попробуйте Enlightenment (например, Bodhi Linux - это Ubuntu 10.04 с Enlightenment), он очень легкий и все еще имеет некоторые визуальные эффекты Compiz. Или попробуйте LXDE или Fluxbox, Linux Mint, кажется, хорошо их интегрировал.
Шнацель
20

Поменяйте свой механический диск на SSD

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

Я, например, испытал сокращение времени загрузки с ~ 15 секунд до ~ 3 секунд и значительное уменьшение в приложениях первого запуска (например, Firefox, с ~ 5 секунд до менее секунды).

Хотите эталонный тест? Вот один.

desgua
источник
Если компьютер старый, это может работать механически (например , SSD с разъемом IDE), но , как предполагалось: увеличение скорости будет зависеть от других узких мест в системе (например , IDE разъемы, например :)
ореховый о Натти
Я удивлен, что этот ответ не набирает больше голосов.
WinEunuuchs2Unix
19

Установить vm.swappiness=10в /etc/sysctl.conf. Я получаю заметное улучшение скорости при заполнении памяти. Поскольку я использую Eclipse большую часть времени, физическая память может стать редким товаром.

РЕДАКТИРОВАТЬ:

Из Ubuntu Swap FAQ :

«По умолчанию в Ubuntu установлено значение swappiness = 60. Уменьшение значения swappiness по умолчанию, вероятно, повысит общую производительность типичной установки на настольном компьютере Ubuntu. Рекомендуется использовать значение swappiness = 10 , но не стесняйтесь экспериментировать. Примечание. При установке на сервер Ubuntu различные требования к производительности для настольных систем, и значение по умолчанию 60, вероятно, более подходит ".

FAQ довольно полно объясняет, что такое своп, как он используется и как его изменить. Рекомендуется для чтения всем, кто думает о том, чтобы возиться с подкачкой или размером файла подкачки на диске.

Decio Lira
источник
2
@Erigami: +1 за упоминание того, что действительно имело для вас значение.
Жиль
2
@DecioLira: Нет. Это выталкивает на диск приложения, которыми я сейчас не пользуюсь, а это означает, что у того, в котором я сейчас работаю, есть доступ к большей физической памяти.
Erigami
2
Есть ли у вас какой-нибудь хардкорный номер, который показывает разницу и в какой ситуации и какую разницу?
txwikinger
2
@Erigami: Я немного поиграл с подменой. И в начале казалось, что это было быстрее, но со временем все казалось одинаковым. Некоторые реальные измерения были бы действительно интересны.
txwikinger
2
Различные тесты, которые я провел, доказывают, что vm.swappiness = 100 лучше, чем 10. На медленной машине это поможет загрузить, на быстрой - это не будет иметь никакого значения (если вы не запустите несколько страниц приложений ГБ в ОЗУ). Это беспроигрышный.
NightwishFan
17

Как бы глупо это не звучало, всегда обновляйте свою систему!

Дерек
источник
5
Да. Я замечаю улучшения сразу после этого.
ixtmixilix
Но: делайте это вручную и, возможно, через командную строку. Ежедневные обновления с помощью update mgr могут заморозить старые системы (оставляя вас угадывать, что происходит).
сумасшедший о Natty
17

Поместите ваш каталог / tmp на RAM-диск

https://superuser.com/questions/175861/ramdisk-ubuntu-10-04

оборота Bigwave
источник
6
Если вы сделаете это, то убедитесь , чтобы проверить и / или чистить /tmpтак часто каталог каждый, в противном случае вы рискуете бежать из памяти только потому , что некоторые приложения забывает чистить свои временные файлы. Я читал, что на самом деле это было проблемой на некоторых блоках Solaris, потому что ОС монтировалась /tmpна виртуальном диске и в конечном итоге заполнялась. Хороший усилитель производительности, если вы правильно его используете.
четыре
У некоторых есть проблема с оперативной памятью, это для процессора!
Амир Форсати
1
как правило, это хороший совет, если у вас есть тонны оперативной памяти, и в ответе стоит упомянуть, что этот совет не подходит для ПК.
Тымык
16

На одной машине с Ubuntu я обнаружил, что установка эффектов рабочего стола на ноль (отключение всех графических эффектов) значительно улучшила скорость пользовательского интерфейса.

Skizz
источник
5
Эта настройка может идти обоими путями. Иногда позволяя графическому процессору выполнять работу, вы освобождаете процессор и оперативную память и улучшаете общую производительность системы.
ændrük
2
Отлично - как вы делаете эту настройку?
ixtmixilix
@ixtmixilix: щелкните правой кнопкой мыши по рабочему столу и выберите вариант отображения (это нижний IIRC - я на работе и должен использовать SomeOtherOS).
Skizz 15.10.10
спасибо ... ваш комментарий может означать, что я не переключаюсь обратно на Debian, который был на несколько лет быстрее из-за того, что он был менее ярким ... для записи (если другие люди хотят попробовать это), вы попадаете под «рабочий стол изменения» background 'menu ... (?) ... извините, но я называю его немного напоминающим SomeOtherOS
ixtmixilix
1
@ ændrük Как я могу узнать, в чем дело? (достаточно ли помогает мой графический процессор для сохранения эффектов рабочего стола или я должен их отключать)
Eyal
12

Тюнинг ext4 для максимального дыма

Включить режим обратной записи. Этот режим обычно обеспечивает лучшую производительность ext4. Обратите внимание, что это происходит за счет надежности, поскольку отключает ведение журнала для записи данных. Данные могут быть записаны в основную файловую систему после того, как их метаданные были зафиксированы в журнале. В результате старые данные могут появиться в файлах после сбоя и восстановления журнала.

tune2fs -o journal_data_writeback /dev/sdXX

# Check fs options
dumpe2fs /dev/sdXX |more

Документация от kernel.org :

В режиме data = writeback ext4 вообще не регистрирует данные. Этот режим обеспечивает уровень ведения журнала, аналогичный уровню ведения журналов XFS, JFS и ReiserFS, в режиме по умолчанию - ведение журнала метаданных. Авария + восстановление может привести к появлению неверных данных в файлах, которые были записаны незадолго до сбоя. Этот режим обычно обеспечивает лучшую производительность ext4.

Еще больше дыма

Чтобы увеличить производительность, добавьте fstabопции:data=writeback,noatime,nodiratime

то есть, отредактируйте ваш /etc/fstabUUID для ваших дисков и добавьте / замените существующие опции

/dev/sdXX /opt ext4 defaults,data=writeback,noatime,nodiratime 0 0

Убедитесь, что вы использовали tune2fs для включения режима обратной записи ДО того, как вы отредактируете свой файл fstab и ДО перезапуска. Я говорю ДО, потому что я перезагрузился после того, как я изменил свой fstab, но до того, как я включил режим обратной записи и загрузил загрузку. Ничего не потеряно, но мне пришлось использовать живой CD, чтобы получить доступ и изменить свой fstab. Безопаснее, если вы включите не загрузочный диск для тестирования в первую очередь.

Массовое улучшение скорости как при загрузке, так и при отключении и повседневном использовании.

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

Дерек Брабрук
источник
может быть, это хорошо для настройки этих параметров на ноутбуке, без отключения питания ..... хорошие настройки, я попробую
One Zero
3
nodiratimeздесь не нужен, потому что noatime подразумевает это
Shnatsel
1
Можно было бы отключить блокировку устройств, если вы ищете настройки для приема данных. Это может увеличить производительность в несколько раз, но в случае сбоя питания ваши файлы будут испорчены.
Шнацель
О, старые добрые времена потенциально поврежденных файловых систем после отключения питания.
Турбьёрн Равн Андерсен
10

Купите столько памяти, сколько можете себе позволить, и машина сможет вместить.

Турбьерн Равн Андерсен
источник
5
ørn, идея этого вопроса - узнать немного больше о системе и о том, как настраиваться на людей, которые заинтересованы в ней. Просто покупка новой машины / запчастей - очевидный ответ, который ничему не учит.
Децио Лира
15
Тогда упомяните это в вопросе. Покупка дополнительной оперативной памяти, возможно, является самым простым и наиболее эффективным способом ускорения работы системы (поскольку Linux использует неиспользуемую память в качестве дискового кэша).
Турбьерн Равн Андерсен
Кроме того, наличие большего объема ОЗУ, чем общее использование программы, и дисковое пространство не имеют смысла, так как, несмотря на размер всех дисков, в кеше записи нечего хранить.
ζ--
@hexafraction У большинства типичных конфигураций машины ОЗУ намного меньше, чем у дискового пространства. SSD-диски хоть и быстрые, но все же намного медленнее, чем доступ к памяти. Максимальная пропускная способность памяти у i7 составляет 25,6 ГБ / с. ark.intel.com/products/75121/…
Торбьерн Равн Андерсен
Покупка дополнительной памяти не поможет вам, если вы не используете почти 100% памяти, если вы не выполните другие шаги (ramdisk).
idbrii
9

Следующее только для экспертов. Как следует из названия, он может и будет съедать ваши данные, даже если вы будете осторожны.

eatmydata - это дроп в пакете, который отключит fsync. Fsync - это системная операция, которая гарантирует, что ваши данные будут записаны на диск перед продолжением. Как правило, вы этого хотите, так как это облегчает, ускоряет восстановление после сбоев и сбоев питания и снижает потери данных. Это приходит по цене, хотя; все, что вызывает fsycn, должно ждать своей очереди, вместо того, чтобы просто доставлять данные ядру для записи в более поздний срок. И в некоторых, возможно, даже во многих файловых системах, fsync запишет все данные, а не только то, что вы хотите защитить.

В некоторых ситуациях fsync не стоит затрат. Представьте, что у вас есть сервер с таким количеством данных. Вместо того, чтобы указывать это на действующую базу данных, может быть быстрее сделать дамп в согласованную локальную базу данных, установить eatmydata, чтобы отключить fsync, и отпустить. Это может привести к сбою и потере данных, но поскольку это не единственная копия чего-либо, вы можете просто перезапустить процесс с нуля. Или, например, серверы сборки Ubuntu, где все, что нас интересует, - это окончательный созданный пакет. Или, на настольном компьютере, если программа (например, Firefox) синхронизируется настолько, что замедляет работу всей системы. Просто будьте готовы потерять все данные, связанные с использованием этого, или столкнуться с ужасными последствиями.

jldugger
источник
6

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

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

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

Запуск приложения в быстродействующей системе часто меньше, чем переключение окон в перегруженной и медленной системе.

txwikinger
источник
7
Да, но это само собой разумеется.
Дмитрий Лихтен
Вентилятор моего процессора многократно включался, когда я оставлял Firefox открытым. Я перестал использовать FF и переключился на Chrome. Я знаю, что это не прямое улучшение производительности, но я предполагаю, что процессор меньше загружен, чтобы другие приложения могли использовать его больше.
Erigami
1
@Dmitriy Likhten: у скольких людей почтовый клиент работает в фоновом режиме? Вместо этого мы должны предоставить им легкий апплет, который уведомляет о новой электронной почте, а почтовый клиент открывается только тогда, когда электронные письма прочитаны.
txwikinger
Я подозреваю, что для почтового клиента это будет контрпродуктивно. Когда он только ждет новой почты, большая часть его памяти может быть обменена. А загрузка из swap может быть быстрее, чем загрузка всех отдельных файлов, которые использует почтовый клиент. ОТО, этот совет очень актуален для веб-браузера, где, как вы упоминаете, даже фоновые вкладки / окна часто используют немного процессорного времени и не могут быть заменены из-за некоторых анимированных картинок или JavaScript на таймере.
Жиль
2
Ну, проблема в том, что замена, к сожалению, часто происходит медленнее, чем без замены, а с достаточным объемом памяти для запуска приложения в полном объеме. Хотя подкачка на серверах работает хорошо, на настольных компьютерах она приносит больше вреда, чем помогает в моем опыте (я также должен сказать, что это одно из ухудшений ядра Linux за последние 5 лет или около того. работать намного лучше).
txwikinger
6
  1. Используйте файловую систему JFS . Это твердое тело . Он имеет минимальное использование процессора и очень хорошую общую производительность.

  2. Установите vm.vfs_cache_pressure. Это моя /etc/sysctl.d/10-desktop-responsiveness

    [префикс строки комментария с #, этот веб-интерфейс не любит их ...]

    Эти параметры увеличивают скорость отклика для типичной рабочей нагрузки рабочего стола.

vm.swappiness указывает ядру linux отдавать предпочтение коду приложения, а не кешу, когда эти два конкурируют за RAM.

vm.vfs_cache_pressure контролирует кэш inode / dentry (т.е. файловую систему) по сравнению с другими кешами, т.е. мы хотим сохранить метаданные файловой системы в оперативной памяти, если это возможно.

От: http://rudd-o.com/linux-and-free-software/tales-from-responsivenessland-why-linux-feels-slow-and-how-to-fix-that

vm.swappiness=15

vm.vfs_cache_pressure=50
Пол
источник
1
«Файловая система JFS. Она надежна. У нее минимальное использование процессора и очень хорошая общая производительность» - как насчет того, чтобы предоставить какое-то подтверждение, помимо «кто-то сказал мне это»? Какой-нибудь эталонный тест? В каких ситуациях это хорошо - например, будет ли это хорошей идеей для современного компьютера с SSD?
Mateusz Konieczny
6

Unity, как правило, немного ресурсоемкий, хотя я удивлен, узнав, что вы испытывали столь же низкую производительность даже под Unity2D. Одним из возможных решений было бы поиграть с другими более легкими рабочими средами, такими как Lubuntu (LXDE) или Xubuntu (XFCE). Я думаю, вы увидите существенную разницу в общей отзывчивости и производительности.

Кроме того, вы можете попробовать зайти в диспетчер приложений запуска и снять флажки с приложений и процессов, которые вам не нужны, чтобы Ubuntu автоматически запускался при входе в систему (например, диспетчер Bluetooth, если у вас нет bluetooth, UbuntuOne, если вы его не используете). программы, которые вы просто не используете и т. д.) Прежде чем сделать это, сначала сделайте скрытые запускаемые приложения видимыми в менеджере запуска:

sudo sed -i 's/NoDisplay=true/NoDisplay=false/g' /etc/xdg/autostart/*.desktop
mblasco
источник
2
Да ладно, Unity более чем способна отлично работать на машине с 4 Гб оперативной памяти и двухъядерным процессором. Предложение попробовать LXDE имело бы смысл для нетбука с 1 Гб оперативной памяти и процессором Atom. Конечно, проблема OP вызвана неправильной конфигурацией или несовместимостью оборудования, а не тем, что Unity не может работать на этом оборудовании.
Сергей
5
Вы можете быть совершенно правы в отношении причин проблем Кристиана, и вы, безусловно, правы, полагая, что Unity (теоретически) должна работать идеально на его машине. Однако ни один из этих фактов никоим образом не опровергает мое утверждение о том, что Unity требует много ресурсов (независимо от характеристик машины) и что использование LXDE или XFCE, несомненно, приведет к значительному повышению производительности. Возможно, это не идеальное решение в этой ситуации (отсюда мое обозначение предложения как «одного возможного решения»), но я надеялся, что это может, по крайней мере, улучшить его опыт.
mblasco
@ Сергей, пожалуйста, не забывайте, что многие из нас все еще используют не обновляемые нетбуки, ограниченные 1G, только потому, что они не смогли нас подвести. Выбор набора инструментов с учетом его памяти не делает вас или ваш компьютер динозавром (даже один из вас;).
Татьяна Хойзер,
@Sergey Для меня Lubuntu (установка по умолчанию) значительно быстрее на моем ноутбуке, чем Ubuntu (установка по умолчанию). Это 4 ГБ оперативной памяти, двухъядерный ноутбук с очень плохой графической картой. В моем случае эффекты Unity вызывают очень значительное замедление. Возможно, это также было вызвано отчасти глупыми значениями по умолчанию или несовместимостью оборудования - но худшие значения по умолчанию и худшая поддержка оборудования являются для меня также вескими причинами, чтобы избежать Unity.
Матеуш Конечны
5

Настроить своп

Часть 1. Установите swappiness. Это может быть в соответствии с ответом дегуза, но это может быть наоборот, и это будет иметь больший эффект, когда это так.

Один из сценариев, в котором некоторые из нас рады, - это когда у нас много оперативной памяти. Как правило, у нас есть небольшой процент того, что он непосредственно используется ядром и приложениями, некоторые (возможно, большие, если вы использовали другие твики для повышения производительности, такие как монтирование / tmp в памяти), используемые для ramfs и tmpfs, и концерты используются как дисковый кеш для ускорения доступа к файлам.

В этом сценарии, когда общий объем используемой памяти, включая кэш-память, становится большим, а приложению требуется больше оперативной памяти, linux должен решить, взять ли какой-либо кэш из файловой системы или выполнить обмен на раздел / файл подкачки.

Так как у нас тонны ОЗУ, и, возможно, мы вообще беспокоились только о свопе, чтобы мы могли включить спящий режим, мы хотим, чтобы он склонялся к тому, чтобы занять часть этого обильного кеша, и, следовательно, хотим низкой загрузки. Если нас не волнует возможность перехода в спящий режим, мы можем даже обнаружить, что такая машина с большим объемом оперативной памяти вообще не нуждается в обмене.

Другой сценарий - кто-то с низким объемом оперативной памяти, который переключается между несколькими тяжелыми приложениями и тратит разумное количество времени на каждое. Представьте, возможно, веб-разработчика, который тратит некоторое время на свою IDE, кто-то на графический редактор, кто-то на свой браузер, немного на другие браузеры, чтобы проверить проблемы совместимости, и, возможно, 5 минут каждый час на своем почтовом клиенте. Они также, вероятно, неоднократно обращаются к одним и тем же файлам при чтении и записи и, следовательно, получают значительную выгоду от кеширования файлов. Этот человек, вероятно, мог бы извлечь выгоду из того, что Linux более охотно выменял память, используемую какими-либо тяжелыми приложениями, в которых он в данный момент неактивен, поэтому обмен должен быть для них выше.

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

Часть 2. Приоритет и количество разделов.

Каждый раздел подкачки имеет приоритет, и linux будет использовать его с наивысшим первым. Если он не задан в / etc / fstab, он будет считаться отрицательным, начиная с -1 (явные настройки находятся в диапазоне от 0 до 32767, и поэтому -1 ниже, чем любой явно установленный) и продолжая в порядке в fstab до -2, - 3 и так далее.

Наилучшая настройка зависит от того, где физически находятся разделы. Если у вас только один, то это не имеет значения (но, может быть, у вас должно быть больше одного, так что читайте дальше).

Если у вас есть два или более на одном физическом диске, то они должны иметь разные приоритеты, чтобы он не пытался использовать два раздела, которые требуют поиска между ними (кто-нибудь знает, если этого автоматически избежать?). Значения по умолчанию в порядке. Вероятно, не очень хорошая идея иметь два свопа на одном диске в любом случае, но это может произойти, если вы создали его, а затем решили, что вам нужно больше свопа позже (возможно, при добавлении дополнительной оперативной памяти).

Если у вас два или более на двух или более физических дисках примерно одинаковой скорости, то установка их на один и тот же приоритет будет означать, что linux будет использовать их оба одновременно, что обеспечивает лучшую производительность по причинам, аналогичным почему RAID или просто убедитесь, что на обоих дисках есть часто используемые файлы - работа распределяется между ними.

Если у вас два или более физических диска с одинаковой скоростью, но у вас есть своп только на одном, возможно, вам следует это изменить по указанным выше причинам.

Если у вас два или более физических диска с очень разными скоростями, то обычно вы хотите, чтобы самый быстрый диск имел более высокий приоритет, чем более медленный, поэтому он используется первым. Возможно, вы даже не захотите менять своп на медленном диске, хотя это может иметь смысл, если, например, у вас есть небольшой своп на быстром, но маленьком диске для быстрого свопа, и больший своп на медленном диске, чтобы у вас было достаточно места для спящий режим.

Если более быстрый из них - SSD, то есть две альтернативы с разными плюсами и минусами:

  1. Наивысший приоритет, или, возможно, только, обмен на SSD для скорости.
  2. Поменяйте местами только не SSD, чтобы уменьшить количество записей на SSD и, следовательно, увеличить срок его службы.

Номер 2, вероятно, тот, который нужно использовать, если у вас действительно есть своп, позволяющий переходить в спящий режим, а в противном случае ваша обильная оперативная память означает, что она вам действительно не нужна (и если вы тратите деньги на твердотельный накопитель, вы должны тратить их на оперативную память). тоже) если только вы не фанат скорости загрузки, который хочет загружаться из гибернации со скоростью, которая будет демонстрировать вашу модную высокопроизводительную установку! В противном случае баланс зависит только от скорости работы SSD.

Если у вас есть накопитель, предназначенный исключительно для подкачки, чтобы не конкурировать с другими файловыми операциями ввода-вывода, то вы, вероятно, неравнодушны к производительности и уже знаете об этом лучше, чем я, и читаете это только для того, чтобы убедиться, что я получил ничего плохого!

Джон Ханна
источник
5

Если вы хотите узнать, какие службы запускаются после загрузки в Ubuntu 10.04, запустите «jobs-admin».

sudo apt-get install jobs-admin
janot
источник
4

Если мы говорим о переходе с BIOS на подключение к Интернету, я могу порекомендовать настроить сеть без использования NetworkManager, лично я сделал это, потому что у меня очень медленный DHCP-сервер, и NetworkManager не начинает проверять сеть, пока я не вошел в систему. ,

LassePoulsen
источник
Время загрузки - важный аспект производительности. как можно настроить сеть без NetworkManager?
Децио Лира
Отключите «Автоматически подключаться» в Networkmanager и посмотрите на этот ubuntu.stackexchange.com/questions/1277/… вы также можете посмотретьman interfaces
LassePoulsen
Я удалил NetworkManager и его друга-гнома раз и навсегда ...
dag729
Мне, действительно, не нужно ни в коем случае, вы можете делать все то же самое из терминала любым способом ..
LassePoulsen
Существует альтернатива NetworkManager Wicd, которую я использовал, чтобы избавиться от пароля при загрузке и чтобы он запустил сеть до рабочего стола: wicd.sourceforge.net
Фил Ханнент,
4

Если вы используете рабочий стол Unity, попробуйте более легкий интерфейс, такой как LXDE или Xfce.

Marco Hemminger
источник
4

Нашел, что тормозило мою машину gwibber-service. Может быть, потому что у меня есть аккаунт в твиттере, который следит за многими людьми, и когда он обновился, машина вышла из строя.

Я наблюдал за машиной с верхом, как сказал @kmassada, и когда он был действительно медленным, заметил процесс. Затем выполнить:

sudo sed -i 's/NoDisplay=true/NoDisplay=false/g' /etc/xdg/autostart/*.desktop

как указывало @blasmat для запуска приложений запуска, я видел, что служба запускалась автоматически, и отключил ее. Теперь мой компьютер намного быстрее. Я думаю, что есть еще улучшения, которые я могу сделать (я не чувствую это в наилучших условиях), но после 20 часов тестирования производительности я могу сказать, что это действительно хорошо.

Кристиан Вьельма
источник
4

Утилита ubuntu-tweak имеет удобный инструмент «Janitor», который позволяет очень легко очищать кеши и потерянные пакеты.

sudo apt-get install ubuntu-tweak

Обратите внимание, что по состоянию на 2016-04-16 Ubuntu Tweak больше не используется, с последним обновлением более года назад - см. Https://github.com/tualatrix/ubuntu-tweak (что делает http://blog.ubuntu-tweak.com/ 2012/10/22 / thank-you-ubuntu-tweak-will-continue.html устарела).

Дворник Убунту Твика

Cormac O'Brien
источник
Bleachbit также великолепен - и работает кроссплатформенно, а некоторые вещи убирает ubuntu-tweak (и наоборот).
NoBugs
3

Используйте apt-fastвместо apt-getи поместите свой apt-кеш в tmpfs.

Для apt-get вам понадобится aria или axel, поэтому сначала:

apt-get install aria2c

или же

apt-get install axel

Я использовал арию. Тогда вам нужен apt-fast сам.

sudo add-apt-repository ppa:apt-fast/stable && sudo apt-get update && sudo apt-get install apt-fast

Ответьте на вопросы, и с тех пор apt-fast будет действовать как apt-get практически во всех отношениях, за исключением того, что он загружает пакеты параллельно. Не имеет значения, собираетесь ли вы устанавливать одно приложение, но много для более крупных установок.

В сочетании с этим мой / etc / fstab имеет:

tmpfs /var/cache/apt/archives tmpfs defaults,noatime,mode=1777 0 0

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

Так как я много переустанавливал во время этих экспериментов, это позволило мне сделать сравнение. После установки 12.04 на момент написания статьи будет доступно около 300 обновлений, включая обновление ядра, доступное сразу после установки. Я проигнорировал средство обновления программного обеспечения и сделал вышеупомянутые изменения прежде, apt-fast update && apt-fast dist-upgradeи часть загрузки во много раз быстрее (фактическая установка занимает то же самое время).

У меня есть псевдоним, alias apt-get="apt-fast"поэтому мне даже не нужно менять привычки (единственные различия - это разные отзывы о загрузке, подтверждение того, хочу ли я их загружать, и подразумеваемое, sudo если я это забуду, но команды для запуска чего-либо та же).

Джон Ханна
источник
2

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

Если вам не по вкусу, я даже рекомендую установить следующие пакеты. Я заметил значительное время отклика между единством и основным гномом

sudo apt-get установить gnome-core gnome-session-fallback

Я также проверил бы мои приложения запуска, чтобы видеть, что работает при запуске и что мне не нужно запускать при запуске.

И я бы также проверил отзывчивость в конкретных приложениях.

Последнее, что я хотел бы проверить настройки графики. Может быть, вам нужно скомпрометировать срок службы батареи для производительности.

kmassada
источник
2

Еще один хороший способ повысить производительность - это установить CompizConfig Settings Manager и отключить эффекты анимации, исчезающие окна и декорации окон. Настенная стена и Экспо тоже возможны.

введите описание изображения здесь

Также используйте быстрый текстурный фильтр под OpenGL

введите описание изображения здесь

Сергей Колодяжный
источник
2

Попробуйте легкий аромат сообщества Ubuntu

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

  • сверхлегкий Lubuntu или

  • средний свет Ubuntu MATE или Xubuntu .

Попробуйте их вживую перед установкой. Рекомендуется продолжать использовать релизы LTS, и я предлагаю вам начать с 16.04.1 LTS, которая является версией с самой продолжительной поддержкой до конца жизни. Смотрите подробные советы по следующим ссылкам,

Версия с наибольшим временем поддержки (когда это написано)

Несколько сложно найти 16.04.1 LTS , версию с самым длительным временем поддержки. Работают следующие ссылки (2017-06-29),

sudodus
источник
1

РАСШИРЕННЫЙ, НЕ ДЕЛАЙТЕ, ЕСЛИ ВЫ НЕ ЗНАЕТЕ, ЧТО ВЫ ДЕЛАЕТЕ

Скомпилируйте ваше собственное ядро. http://www.overclock.net/a/how-to-configure-and-compile-a-custom-linux-kernel-for-ubuntu Это может занять довольно много времени, поэтому сделайте что-нибудь еще, пока вы его компилируете. Как только вы закончите, установите файлы и праздновать. Особенно, если вы получаете огромные улучшения скорости. : D

user67416
источник
9
Кто-нибудь знает, есть ли какие-нибудь отдаленные тесты, которые подтверждают идею о том, что использование самоконфигурируемого, самосозданного ядра может привести к значительному улучшению скорости в современных настольных системах Ubuntu? (Если так, возможно, эта информация может быть добавлена ​​к этому ответу.)
Элия ​​Каган
Даже если компиляция собственного ядра не приводит к значительному повышению скорости, это хорошее упражнение для Linux, которое вам обязательно нужно выполнить, если вы хотите больше разбираться в Linux (или, наоборот, если вы просто супер любопытны и хотите узнать, что происходит под капотом).
четыре
1
За время, потраченное на настройку собственного ядра, время загрузки, уменьшенное на 0,2 секунды, и повышение производительности на <0,1% под нагрузкой, безусловно, стоят затраченных </ sarcasm> * цифр из моего собственного опыта.
Марк К Коуэн
1

RAID для всего!

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

Если у вас более одного диска, вы можете настроить RAID. Плюсы и минусы различных уровней RAID хорошо документированы повсеместно, поэтому я не буду вдаваться в подробности. Лично у меня есть два диска, поэтому я действительно выбираю между 0 и 1 (хотя mdadm может сделать форму 5 только на двух дисках, но я не пробовал). Так как есть вещи, которые могут пойти не так с компьютером - особенно ноутбуком, который имеет больший риск физического сбоя - от которого не спасет ни один уровень RAID, и поэтому вам нужна стратегия для борьбы с рисками, которая не зависит от RAID чтобы сохранить ваш бекон (это не спасет вас, если вы поэкспериментируете с настройкой производительности, которую вы читаете в Интернете, и это, например, приводит к невозможности загрузки), я решил использовать RAID 0.

Самый простой способ сделать это для всей системы - это установить его с альтернативного ISO, а не с настольного установщика, который позволяет загружаться прямо с CD / DVD / USB в Ubuntu.

Выберите «Ручное» разделение. Разделите ваши диски так, чтобы у вас были разделы, которые вы будете использовать на каждом диске. Например, если у вас есть два диска и вы решили выделить 100 ГБ для / home, то вам нужно выделить 50 ГБ на каждый, если используется RAID 0, и 100 ГБ на каждый, если используется RAID 1.

Выберите «Настройка программного рейда». Выберите «Создать том RAID» (или что-то похожее, я не собираюсь загружаться в установщик, чтобы проверить формулировку). Выберите нужные разделы на своем первом томе RAID, тип RAID и создайте его. Повторяйте, пока не настроите все свои тома. (Вам не нужно помещать своп на RAID, просто дайте двум или более своп-разделам одинаковый приоритет в fstab, и они будут использоваться вместе без RAID).

Назначьте файловые системы и то, что смонтировано, где, как и при любой установке, и все готово.

Многие говорят, что вы можете использовать / boot только для RAID 1 или не RAID-раздела. У меня это было на RAID 0 без каких-либо проблем, что может быть связано с тем, что Ubuntu движется дальше, Linux движется дальше или BIOS движется (и если он последний, то ваш BIOS может быть не в порядке с / boot на RAID 0) ,

Установщик установит grub на все ваши диски. Это дает преимущество в том, что, если что-то перестает загружаться, ваш «первый» диск перестает работать, вы можете войти в меню загрузки и загрузиться со второго.

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

Джон Ханна
источник