15

Оптимизация Linux-based дистрибутива

Привет всем, первоначально, я хотел вести именно подобный блог, а не делать обзоры на диструбивы, что как оказалось вызывает больше срачей, чем толку. Если кто-то спросит, зачем нужен этот пост, то я могу смело ответить, чем это хуже, чем все посты о "оптимизации" windows, путем отключения сервисов и очистки реестра.
И так, начнем.
Первым делом, Linux, как и Windows можно оптимизировать путем отключения не нужных сервисовдрайверов и тд. тп.
Сделать это можно так команда вашего демона автозапуска (systemctl для systemd и rc-update для openrc) команда для удаления из автозапуска и отключения данного сервиса имя сервиса
К примеру > rc-update rm sshd && service sshd stop
Идем дальше.
Такой же процесс можно провести и с ядром.
Не нужные вам модульные драйвера можно поместить в /etc/modprobe.d/blacklist-циферка
и отключить во время работы системы через команду rmmode имя драйвера
Так же, очень полезно будет пересобрать ядро, убрав из него все не нужные вам драйвера, выбрать более подходящую микроархитектуру и собрать его с определенными флагами для оптимизации.
Самыми оптимальными флагами для оптимизации ядра я считаю:
> CFLAGS= -march=native -mtune=native -O3 -ffast-math -flto -funroll-loops -mfpmath=sse
Аналогично для СXXFLAGS.
Так же, советую использовать последнюю версию компилятора, к примеру для GCC самой новой версией является 4.9.2.
Теперь объясню, что каждый из этих флагов делает.
> march mtune
Флаги, предназначенные, для использования заранее заготовленного набора флагов.
Узнать содержимое этого профиля можно с помощью команды > gcc -c -Q -march=native --help=target
Не всегда заготовленный для вашего процессора профиль является самым лучшим, к примеру в профиле Core2 не включено использование sse1-3, mmx и ssse3, которые значительно повышают производительность.
Включить их можно с помощью -mтип_оптимизации версия оптимизации
Например > -mmmx -msse2 -msse -msse3 -mssse3 -mavx -msse -msse4.1 -msse4.2
Так же можно поиграться с -masm, но далеко не для всех процессоров изменение стандартного assambler-a повышает производительность.
> -O3
Этот флаг включает набор флагов Optimization level 3, который является не совсем стабильным, но адекватно работает в большей части приложений, проблемы возникали только с grub2.
Внутри него целая куча флагов, которые описаны на официальной вики gcc.
> -ffast-math
Флаг из -Ofast (ака -O4), единственный флаг из крайне не стабильного Ofast, который не вызывает сегментационную ошибку, позволяет ускорить все математические операции в разы.
> -flto
Межмодульная оптимизация, позволяет оптимизировать скорость работы программы на определенных моментах кода.
> -funroll-loops
Развертывание циклов, которое позволяет оптимизировать скорость выполнения определенных циклов, если хотите разворачивать все циклы используйте > -funroll-all-loops
> -mfpmath=sse
Устанавливает основным профилем, для математических операций, набор команд sse, вместо стандартного набора команд.
Значительно ускоряет все математические операции.

Таким же образом можно пересобрать все программы в вашей системе, что значительно повысит их производительность.

В следующий раз расскажу о ускорении загрузки системы.
0
Автор поста оценил этот комментарий
Хыыы:D Ну я все им собирать не хотел. Там есть небольшой список который может пересобраться автоматом если все настроить, а если точнее, то некоторые кодеки да *zip всякие. А основная часть все равно на gcc осталась бы.
В крайности лезть точно не стоит, а то все может получиться как ты и описал :D
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Попробуйте пописать под visual C++ и под gcc. Почувствуете разницу.
Тут такая же разница, начиная от названий библиотек, так и до реализации функций и даже названий некоторых шаблонов.
0
Автор поста оценил этот комментарий
Привет. Я вот все занимаюсь красноглазием и нашел такую штуку как icc. Ты не пробовал ? Мб где-то читал об этом ?
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Каждый красноглазик находит icc, потом компилирует с помощью него систему, радуется производительности +20%, но со временем понимает, что половина программ не компилируется с помощью него, а другая половина ловит баги изза того, что некоторые функции работают в icc не так, как в gcc. Счастье то какое.
показать ответы
0
Автор поста оценил этот комментарий
Хмм, не замечал. Да и такого не должно быть т к по факту монтируется оперативка под видом hdd/sdd, а она полюбому должна быть быстрее чем hdd. Если и может возникнуть проблема, то только из-за того что не хватит оперативной памяти для сборки какого-нибудь пакета(chromium и open office первые кандидаты т к первый для сборки требует 2 гига а второй около 10). Хотя учитывая что современные машины используют 8-16 гб ОЗУ никакие большие пакеты не страшны.
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
ну файлы размером от 2ГБ в tmpfs будут работать в несколько раз медленее.
показать ответы
0
Автор поста оценил этот комментарий
Поискал тут немного про флаги и остановился на "--march=core2 -O3 -ffast-math -fno-align-functions -fno-align-labels mfpmath=sse -mssse3 --param l2-cache-size=4096 -pipe -Wno-all". Со стандартными флагами хромиум выдает 2800+ попугаев, с новыми(без фаст-мат) 3100+ на http://peacekeeper.futuremark.com/ и наконец то идет абсолютно все видео 1080 идеально(раньше некоторые ролики плохо воспроизводились из-за того что процессор не справлялся). 10%, не думал, что будет так приятно.
Еще потестил 2 патча BFS, BFQ . Не сказал бы что скорость взлетела до небес, но после стандартных, с этими планировщиками тормозов при нагрузках было меньше + загрузки быстрее.
И напоследок я открыл tmpfs :D :
Wed Dec 24 19:18:38 2014 >>> app-emulation/wine-1.6.2
merge time: 1 hour, 10 minutes and 35 seconds.

Fri Dec 26 02:14:01 2014 >>> app-emulation/wine-1.6.2
merge time: 39 minutes and 29 seconds.

Первый результат - обычная сборка рут фс ext4, второй соответственно tmpfs. ~30% - разница очевидна.

ЗЫ разобраться бы со squashfs еще, говорят тоже очень вкусно.
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
tmpfs с большими файлами плохо работает, только с небольшими.
показать ответы
0
Автор поста оценил этот комментарий
Поискал тут немного про флаги и остановился на "--march=core2 -O3 -ffast-math -fno-align-functions -fno-align-labels mfpmath=sse -mssse3 --param l2-cache-size=4096 -pipe -Wno-all". Со стандартными флагами хромиум выдает 2800+ попугаев, с новыми(без фаст-мат) 3100+ на http://peacekeeper.futuremark.com/ и наконец то идет абсолютно все видео 1080 идеально(раньше некоторые ролики плохо воспроизводились из-за того что процессор не справлялся). 10%, не думал, что будет так приятно.
Еще потестил 2 патча BFS, BFQ . Не сказал бы что скорость взлетела до небес, но после стандартных, с этими планировщиками тормозов при нагрузках было меньше + загрузки быстрее.
И напоследок я открыл tmpfs :D :
Wed Dec 24 19:18:38 2014 >>> app-emulation/wine-1.6.2
merge time: 1 hour, 10 minutes and 35 seconds.

Fri Dec 26 02:14:01 2014 >>> app-emulation/wine-1.6.2
merge time: 39 minutes and 29 seconds.

Первый результат - обычная сборка рут фс ext4, второй соответственно tmpfs. ~30% - разница очевидна.

ЗЫ разобраться бы со squashfs еще, говорят тоже очень вкусно.
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Советую еще добавить -fomit-frame-pointer и -funroll-loops, во первых стартовать будет шустрее, во вторых работать будет немного шустрее, возможно еще 1% выиграете.
0
Автор поста оценил этот комментарий
И еще, как количество попугаев можно проверить, чтоб не на глаз ? А то нарыл тут всяких флагов и интересно проверить, но хотелось бы какие-то конкретные цифры знать на выхлопе .
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
geekbench говорят, что не плохой, но мне он не нравится, так как он сам по себе оценивает производительность себя самой, хотя она не опен соурсная, таким образом она на выхлопе выдаст от силы +5 - +50 баллов.
показать ответы
0
Автор поста оценил этот комментарий
на замену Calculate самое оно - это Sabayon.
в OpenSUSE в принципе нет смысла лезть в консоль, если ты в этом не разбираешься. для примера: поставил лет 5 назад сюзю на ноут Маме. никаких проблем не возникло.
Федора ниразу не дебиан. начиная с пакетного менеджера и заканчивая sudo по-умолчанию у дебиана. абсолютно разные вещи.
отличие бубунты и минта не только в наличии юнити в первом, но и по-умолчанию задействованных проприетарных кодеках и дровах во втором.
как-то так.
з.ы.: перепробовал туеву кучу дистрибов, включая арчи и слаки, знаю о чем говорю.
а пост в целом годный, зачот!
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Мы говорим буквально о одном и том же, просто я пытался обьяснить со стороны юзверя.
Кстати говоря, Calculate мне вообще не понравился, так как там убрали даже autounmask-write и много чего другого полезного.
0
Автор поста оценил этот комментарий
С каких пор федора как дебиан стала
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Оу и чем она критично отличается для юзверя?
Стабильность? Разницы практически не заметно, только в федоре пакеты поновее.
Да, в федоре репозитории меньше, но производительность, откушивание батарейки и много чего другого не отличаются.
0
Автор поста оценил этот комментарий
пост ниачем.
даже открыв список сервисов, многие не поймут, что надо, а что нет.
если человек может спокойно пересобрать ядро, про оптимизацию ему нет смысла рассказывать.
как-то будьте более юзерфрэндли, что ли. человек, вкорячивший линукс на старую тачку ничерта не поймет из вашего поста, серьезно.
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Возможно я не умею расписывать достаточно просто, я расписываю максимально не затянуто и при этом максимально обьясняя, что делает данная функция\флаг.
В прошлых статьях я писал, что узнать нужные модули можно через lspci -k, а потом найти их в ядре.
0
Автор поста оценил этот комментарий
А может быть, посоветуйте какой-нибудь шустрый и красивый дистрибутив без лишнего геморроя (с минимальным использованием консоли при настройке и ежедневном использовании) )))в установке и настройке на ноутбук (asus 1215n, 4gb ram, дискретка нвидиа)))
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Такого нету.
Mint - красивый, без геморроя, но кушает батарейку хорошо и далеко не самый шустрый.
Ubuntu - как mint, только хуже.
Debian - средненький.
Fedora - как дебиан, но на другом пакетном менеджере.
OpenSuse - неплохой, но в консольку нужно лазить.
Gentoo - при установке нужно посидеть в консольке, дальше уже на свое усмотрение, есть много граф. утилит, удобный и в общем неплохой пакетный менеджер имеет, хорошие репозитории, шустрый, мало кушает во всех планах, но требуется много времени на компиляцию разных программ.
Calculate - бинарный аналог Gentoo, в консоль лезть нужно раза 2 в начале и то по мелочи, дальше все делают граф. утилиты, но как по мне он не столь удобен, как Gentoo, так как из него вырезали autounmask-write, не знаю зачем и почему, но вырезали.
показать ответы
0
Автор поста оценил этот комментарий
Отгадал все буквы, но не сумел понять смысл. .. Печалька.
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Что именно не понятно, может обьясню?
показать ответы
Автор поста оценил этот комментарий
Если не ошибаюсь, то -msse4.1 включает в себя предыдущие "sse" и mmx и достаточно его включить. Хотя 100% утверждать не буду. Ты прям заинтересовал _) буду сейчас смотреть, тоже может для своего core2 пару флагов выставлю, а то давно руки чешутся .
раскрыть ветку (1)
Автор поста оценил этот комментарий
с включенным sse 4.2 он становится enabled, но предыдущие остаются disabled.
показать ответы

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества