LINUX.ORG.RU

Помогите выбрать дистрибутив для максимального перформанса

 , ,


0

0

Привет, коллеги! Я ищу дистрибутив Linux, который позволит мне максимально эффективно использовать возможности моего железа. Сейчас я рассматриваю два варианта - Gentoo и NixOS. Но возможно есть и другие интересные опции.

Gentoo известен своим подходом к оптимизации под конкретное оборудование. Используя Portage, можно компилировать все пакеты из исходников, настраивая флаги компиляции под свои нужды. Это позволяет выжать максимум производительности из системы. Однако, сборка из исходников может быть довольно трудоемкой и долгой.

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

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

Железо у меня такое:

  • CPU: AMD Ryzen 5 3500X (Socket AM4)
  • CPU Cooler: Thermaltake Contac Silent 12 (Noctua NF-P12 PWM)
  • Motherboard: ASRock B450M Pro4
  • Memory: Kingston FURY Beast Black [KF432C16BBK4/128] 128 Gb (32x4)
  • Video Card: KFA2 GeForce RTX 4070 CORE Black 12 Gb [47NOM7MD8DDK]
  • SSD #1: Samsung 850 EVO 500GB (MZ-75E500BW)
  • SSD #2: Samsung 980 PRO 1TB [MZ-V8P1T0BW]
  • HDD #1: WD Blue Mobile (SMR) 2 Tb, WD20SPZX
  • HDD #2: Seagate Pipeline HD 2 Tb, ST2000VM003
  • Power Supply: be quiet! Straight Power 11 550W ATX BN281
  • Case: Fractal Design Define Mini C (Dynamic X2 GP-12, Thermaltake TT-1225)

Ответ на: комментарий от u5er

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

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

Ну тогда максимально задействуй tmpfs в /dev/shm, перебрось туда все кэши. Можешь и всю систему там вращать. Таким образом получишь значительное повышение производительности без пересборок мира.

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

А что насчет NixOS?

если принять во внимание, что софт в никсос распространяется не только на линукс но и на мак, то о каком-либо «максимальном перфомансе» думать не приходиться. твой выбор – CRUX

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

Это как условные слоты у дженту

Слоты в дженту необазательно. А в никс эта фича обязательная, неотключаемая. Таким образом грубо говоря для каждого пакета на диск записывается ещё и большая часть его зависимостей для каждого пакета отдельно. Это норм если у вас одна-две версии пакета. А если 10? 20? 50? И это не шутка, например для вайна это нормально иметь сотню разных версий установленных, потому что одна конкретная программа может работать только в одной конкретной версии вайна. А у вас может быть 150 программ, для каждой придется держать отдельную версию вайна. И это не предел.

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

Для каждой программы там грубо говоря притягиваются большинство зависимостей отдельно

только в том лучае, если на это есть необходимость

anonymous
()

Засетапить можно любой, но скорее подойдет Gentoo за счет общего ориентира на конфигурируемый минимализм. Добавляем дополнительные патчи от Clear Linux, PGO, LTO, march native, может быть Graphite. -O3 - не нужен, ибо ломает кривой код. А NixOS скорее про удобство поддержки с оптимальной производительностью (собственно даже с патчами выиграть действительно много, скажем >10%, крайне сложно).

ac130kz ★★
()
Последнее исправление: ac130kz (всего исправлений: 1)
Ответ на: комментарий от Dimez

Пересборка xz на моем новом i9 дает почти 10x прирост на распаковку. Правда zlib всего в два раза быстрее получается, но тоже хорошо. Простые программы не пересобираю с такими флагами, не вижу смысла, только подобные вездесущие библиотеки которые часто вызываются.

MOPKOBKA ★★★★
()
Последнее исправление: MOPKOBKA (всего исправлений: 2)

Ну Gentoo и пересборка всего под своё железо даст тебе некоторый прирост. Но будешь постоянно комптлять. Трудоёмкого там особо нет ничего, для человека. Для компа есть. Долго и воздух греет. Если тебе норм ночами компилять, то почему бы нет. Если не норм, то какой-нибудь арч вполне себе шустрый. Я вот недавно с Void сравнивал, в некоторых тестах арч быстрее, особенно браузер (но также и zstd, например).

А вообще, чтоб не компилять всё, можно взять хоть бы тот же арч, но компилять под своё железо с оптимизациями тот софт, в котором тебе действительно важна производительность. Я вот flac пересобираю, например, там неплохой прирост получается, «отбивает» пересборку в итоге.

А если тебе в проприетарных играх важна производительность, то не парься, ничего ты сменой дистрибутива и пересборкой ядра/либ особо не добьёшься — процент-два, если повезёт. Сами игры-то ты пересобрать не сможешь.

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 1)
Ответ на: комментарий от Jaeger1999

Хочу загружаться быстрее всех в доте.

Получи исходники, перепиши и оптимизируй доту. Заодно расширь свой канал до сервера. Ну и сервер тоже не мешает прооптимизировать.

Чтобы ФФ работал быстрее, нужно, чтобы сайты, которые он загружает были написаны грамотно, без лапши и с оптимизациями. Ждём патч на весь интернет.

Чтобы кеды стали быстрее, нужно заменить их на fluxbox. Правда, что там в кедах можно ускорять на современном железе - я хз. Ну если только отключить akonadi.

Про нейронки уже сказали.

Итого, ни одной из твоих хотелок никакая локальная оптимизация не поможет.

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

shell-script ★★★★★
()

Сейчас я рассматриваю два варианта - Gentoo и NixOS

Вообще, раньше надо было рассматривать разные performance патчи от RedHat, но сейчас это стало трудно. Убунта ещё неплохо патчит апстрим.

Shadow ★★★★★
()

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

QsUPt7S ★★
()

Gentoo+napilnikd+straightarmsd
А вообще можно и crux и void и любой другой, просто в gentoo для патчинга сырцов и компиляции под твое железо все подготовлено из коробки

Kolins ★★★★
()

Для начала понять - а что такое «максимальная эффективность». А потом уже от этого делать какой-то выбор. Какие задачи хочешь решать компьютером?

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

Gentoo дает возможность откомпилировать все под своё железо со всеми нужными ключами (хотя, на самом деле ты можешь это сделать с любым дистрибутивом, Portage тут не обязателен - вопрос количество геморроя, который ты получишь). Ты в этом сильно хорошо разбираешься? Скорее всего нет, если задаешь текущий вопрос - поэтому мимо. Да и прирост будет не существенный при твоем железе. Оно и так прекрасно «потянет» любой из дистрибутивов. Сама же Gentoo «по сути» просто автоматизация LFS/BLFS.

По NixOS - а тебе надо разворачивать свою систему на другой машине? Нет. Про все остальное забудь, она не дает чего-то того, что ты не можешь получить в любом другом дистрибутиве. Может быть там есть какой-то чуть более удобный софт, но не более. Еще раз повторюсь. в любой системе ты можешь компилировать софт руками с любыми ключами оптимизации. Вопрос на сколько ты хорошо понимаешь устройство дистрибутива для того, чтобы при замене компонентов не сломать все связанное.

Если хочется поиграться в мамкиного оптимизатора - есть LFS + BLFS, собирай сам систему из тарболов. Хотя бы понимание какое-то может придти что с чем связано, как те или иные вещи настраивать.

entropy-ronin
()
Ответ на: комментарий от shell-script

Правда, что там в кедах можно ускорять на современном железе - я хз. Ну если только отключить akonadi.

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

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

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

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

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

Чтобы были самые агрессивные оптимизации у GCC

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

Rodegast ★★★★★
()

CRUX. Ничего лучше нет. Несколько лет просидел на генте, достали постоянные конфликты при обновлении системы, постоянные тормоза пакетного менеджера и переусложнённость системы.

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

Чтобы были самые агрессивные оптимизации у GCC

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

teod0r ★★★★★
()