Оптимизация Linux для desktop и игр

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

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

    Хоть я и пообещал, что после прочтения этой статьи, можно будет играть в Metro 2033 на калькуляторе (шутка, такого не будет), все же она начнется с рекомендации купить кое-что из железа, если у вас этого еще нет.

    1. Купите SSD, если у вас его еще нет


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

    Серьезно, все что описано дальше в статье даст вам какой-то прирост в производительности и времени отклика, но любой, даже самый дешевый SSD, сократит время запуска большинства программ до 0, что, визуально, будет очень заметно. Почти в любом компьютере (и сервере) главный тормоз это всегда дисковая подсистема и никакой HDD никогда не даст вам нужной скорости поиска (которая у SSD стремится к 0 мс). За все время общения с компьютерами и их апгрейда, только переход на SSD дал значительный прирост в скорости работы и отклике. Помните как медленно работают дискеты, какое у них огромное время поиска? Примерно вот так воспринимается жесткий диск после SSD.

    Так что если у вас еще нет SSD, то продолжать дальше смысла нет, ваш компьютер (хоть даже оснащенный 12-ядерным Xeon’ом) все равно будет работать медленно, так что вперед за покупками.

    Касательно надежности: есть миф что SSD умирают спустя год. Его рождению мы обязаны первым SSD на бажных чипах SandForce. Естественно, любой новый SSD из магазина как минимум надежнее и долговечнее современных жестких дисков, так что не стоит беспокоиться по этому поводу вообще. Свой SSD я купил 2 года назад б/у, на то время он был в использовании год. Сейчас у него 11 681 часов наработки и использование ресурса 10%, так что при том же режиме использования, мне его хватит еще на 27 лет. Думаю, к этому времени технологии хранения данных уже несколько раз изменятся. Так что повторюсь, проблемы с надежностью более чем надуманы.

    Более подробно о мифах SSD расписал товарищ Вадим Стеркин в своём блоге. Правда, блог у него о Windows, но сути это не меняет. Настоятельно советую почитать, очень интересно.

    В Ubuntu 14.04 SSD работают из коробки, опция discard автоматом прописывается в fstab, кроме этого больше ничего не нужно делать.
    В других дистрибутивах нужно проверять, есть ли эта опция у разделов на SSD. Стоит упомянуть, что данную опцию поддерживает только ext4. Для других ФС придется пользоваться fstrim из планировщика.

    2. Таблица разделов


    Не делите диски на разделы.

    Для домашнего компьютера это бессмысленно и вредно. На SSD у вас должен быть один раздел для корня, там у вас будет хранится система и все данные. На HDD (если нужен) у вас должен быть один раздел с точкой монтирования в /mnt (у меня /mnt/data), где будут хранится большие малоиспользуемые данные (фильмы, музыка, игры). НЕ НУЖНО делать HDD точкой монтирования /home, так как в /home 99% программ хранит свои данные и постоянно к ним обращается, поэтому /home должен быть на SSD.

    Повторюсь кратко: на SSD у вас должно быть все, к чему система постоянно обращается (пишет/читает)!

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

    Насчет SWAP-раздела: он вам не нужен. Если у вас не хватает оперативной памяти, то OOM-killer будет прибивать ресурсоемкие приложения, если это происходит то докупите оперативки, благо ее цена не сильно кусается. Использование swap как расширителя оперативной памяти значительно замедляет работу компьютера. Есть много мнений, что без SWAP будут какие-то проблемы, но ИМХО, корни эти разговоров растут от Win9x и на сегодня это уже мифы, лично я не замечал никаких проблем от отказа от SWAP. Как пруф: на VPS сейчас редко увидишь подключенный SWAP и работают же как-то!
    suspend-to-disk вам тоже не нужен, потому что холодный старт с SSD быстрее чем восстановление из спячки с HDD, так что пользуйтесь suspend-to-ram или выключайте компьютер полностью. Единственный плюс от свапа — возможность уйти в гибридную спячку, это когда система готовится к suspend-to-disk, но выполняет suspend-to-ram, так что позже, если все хорошо, идет простой выход из спячки, а если произошел сбой питания — то система восстановится с диска.

    Я использую везде файловую систему ext4, так как с другими мне не удалось получить заметной разницы в производительности, а ext4 наиболее распространена, плюс имеются утилиты для восстановления данных (но не надейтесь на них, а делайте бэкапы). При создании используйте -T largefile или largefile4.

    3. Используйте 64-битное ядро


    От производительности оперативной памяти мало что зависит, от нее не увеличится FPS в играх и не станут быстрее запускаться приложения. Использование 64-битных приложений тоже не дает никакого прироста для обычных задач, только для очень специфичных математических расчетов и операций архивирования. Также, использование 64 ядра не требуется для адресации более 4 ГБ памяти, PAE позволяет адресовать до 64 ГБ памяти на 32 битной системе.

    Но используя 64-битное ядро, приложения могут адресовать больше чем 4 ГБ памяти, что довольно полезно, так как иначе может возникать ситуация когда OOM-killer будет прибивать программы, хотя оперативки еще достаточно. Также на 64-битной системе можно адресовать сразу же всю физическую память, на 32 битной же все что выше ~800 МБ надо постоянно ремапить, что несколько снижает скорость страничного обмена, хотя, как я уже сказал, это особо не влияет на скорость работы.

    Еще замечал эффект, что OOM-killer может прибивать процессы, которые вроде бы еще не заняли 4 ГБ. У меня такое было с некоторыми играми. Проблема решилась переходом на 64 бита. Так что без 64-битного ядра уже никуда, хоть это и добавляет небольшие накладные расходы на использование памяти.

    4. Используйте патсет pf-kernel


    pf-kernel — это набор патчей для ядра linux, собранные украинцем Александром Наталенко (pfactum) направленные на улучшения desktop-experience linux-систем.

    Он состоит из:


    Наиболее полезными являются патчи BFS и BFQ, про которые уже очень много написано. BFQ борется с проблемой тормозов системы во время выполнения больших дисковых операций (знаменитый баг 12309, который по документам исправлено, но по факту продолжает досаждать), BFS — планировщий процессов, более подходящий для десктопной работы, чем те что идут в ядре. Например CFS, который используется по умолчанию допускает ситуацию, когда 2 процесса, которые требуют приоритет реального времени будут исполнятся на одном ядре, хотя другие ядра заняты низкоприоритетными задачами. Естественно, такое поведение приводит к глобальным тормозам. Зато «честный планировщик». BFS не такой «честный», но зато намного более приближен к реалиям настольных компьютеров с небольшим (большое — это 4096) количеством ядер.

    Для установки, я качаю с kernel.org необходимую версию ядра без стабилизационнх патчей и накладываю на него pf-kernel. В общем случае это выглядит так:

    cd /usr/src
    wget ftp://ftp.kernel.org/pub/linux/kernel/v3.x/linux-3.12.tar.xz
    tar -xf linux-3.12.tar.xz
    cd linux-3.12
    wget https://pf.natalenko.name/sources/3.12/patch-3.12.4-pf.bz2
    bunzip2 patch-3.12.4-pf.bz2
    patch -p1 < patch-3.12.4-pf
    

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

    Вот, например, скриншот htop при работе Dota 2 + The Sims 3 (multiseat):

    image

    При такой нагрузке на третьем экране можно спокойно работать и 25% (в 5-минутном окне по данным load-average) перегрузка CPU даже не чувствуется. Хотя, конечно, проц надо менять :(

    5. Тюнингуйте ядро!


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

    Так что делайте make xconfig

    Я расскажу о наиболее важных опциях для оптимизации

    Выключаем preemption, устанавливаем низкую частоту таймера и выключаем dynticks!

    ДА! Мы действительно, даже вопреки документации к BFS отключаем «жизненно важные» опции для повышения отзывчивости системы. А причина в том что они — устарели, толку от них никакого и к тому же preemption негативно влияет на производительность.

    Было время, когда у меня был одноядерный процессор, тогда еще в готовых ядрах не включали preemption и высокочастотный таймер, вот тогда, после включения этих опций был огромный эффект. А именно, тяжеловесное приложение, занимающее 100% CPU, даже при наличии дискового ввода-вывода и нехватке ОЗУ никак не влияло на интерактивность и отзывчивость. В те времена, еще кроме WinXP ничего не было, а подробно рассказывать как ужасно себя ведет XP в таких ситуациях, думаю, не надо, она обычно намертво виснет, заставляя тянуться к кнопке reset. Так что иметь систему, которая почти никогда не тормозит и не зависает было приятно.

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

    Так что идем в Processor type and features и выбираем для параметра Preemption Model значение No Forced Preemption (Server). Не пугаемся фразы «ocasional longer delays are possible» потому что данную проблему у нас эффективно решает BFS и многоядерный процессор. Как и написано в описании, мы выигрываем в «raw processing power».

    Также, в целях оптимизации, для параметра Processor family выберите свой процессор.

    Далее, устанавливаем для параметра Timer frequency значение 300 HZ. 100 все же будет маловато, да и смысла особого нет (читайте в описании почему), но вы можете поэкспериментировать. Также, 300 Гц нацело делится и на 25 и 30, что является типичными частотами для видео, это вносит свой вклад в борьбу с тирингом (это из хелпа. По факту, с тирингом успешно борется только тройная буферизация + vsync).

    В этом разделе есть немало интересных опций, посмотрите, например можно выключить hot-plug для cpu и памяти, так как на десктопе это просто невозможно сделать (а выключать-включать на лету ядра редко кому нужно).

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

    Теперь отключим динамический таймер. Не уверен точно, так как не проверял конкретно, но похоже именно эта опция приводит к постоянным «подергиваниям» на некоторых видео и особенно в играх. Так что идем General setup -> Timers subsystem и для опции Timer tick handling выбираем Periodic timer ticks (constant rate, no dynticks).

    Включаем BFQ

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

    Идем Enable the block layer -> IO Schedulers включаем опции BFQ I/O scheduler и BFQ hierarchical scheduling support, для опции Default I/O scheduler выбираем, очевидно, BFQ.

    6. Prelink


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

    7. Заключение


    Самое главное, что я всегда замечаю — после наложения патчсета и тюнинга ядра уходят «подергивания» в играх. Чем слабее железо, тем заметнее эти подергивания, хотя у меня есть подозрения что это все же какая-то проблема в драйверах nVidia, потому что разные версии ведут себя по-разному.

    Ради пруфов решил провести тесты с помощью Geekbench 3 из Steam и gputest, результаты которых немного странные:

    3.14-pf:
    Single-Core Score 2421
    Multi-Core Score 8209
    gputest: 3720 pts, 62 FPS

    3.13-generic:
    Single-Core Score 2646
    Multi-Core Score 8414
    gputest: 3713 pts, 61 FPS

    Windows:
    Single-Core Score 2572
    Multi-Core Score 8242
    gputest: 3634 pts, 60 FPS

    Как видно, почему-то на «оптимизированный» вариант в тесте CPU набирает меньше попугаев, а в тесте GPU — больше. Только сейчас я заметил что тестировал разные ядра, возможно в этом и причина различий результатов. Как будет время, проведу эти же тесты на 3.16, надеюсь, удастся найти причину. Самое же веселое тут в том, что у Windows результаты хуже, особенно в 3D значительно.
    Метки:
    Поделиться публикацией
    Реклама помогает поддерживать и развивать наши сервисы

    Подробнее
    Реклама
    Комментарии 296
    • +4
      >Для домашнего компьютера это бессмысленно и вредно.

      Чем вредно?
      • –1
        Лично я всегда потом мучился с кучей этих разделов при замене диска, к примеру, либо при забивании одного раздела, хотя на другом еще куча места.
        • +7
          А разве lvm не решает эту проблему?
          • +14
            А зачем создавать проблему, которую потом надо решать? Да и lvm дома — лишняя сущность.
            • +4
              А мне понравился lvm дома. Можно «на живую» переезжать с одного винта на другой.
              • +4
                Попробуйте zfs. Понравится ещё больше.
                • +1
                  btrfs muti-device filesystem же.
            • +13
              То есть отформатировать / с сохранением /home больше не получится?
              Нафиг-нафиг такое, хоть дома хоть где. Особенно в свете экспериментов с ядром…
              • –1
                Эксперименты лучше сразу делать на отдельном тазике или хотя бы диске, но никак не на рабочем.
              • 0
                Ну, так это не вредно. В том смысле, что для железки никакого вреда тут нет.

                Касательно смысла — тут всё зависит от целей. Если под домашним ПК подразумевается исключительно некая медиа станция с возможностью серфинга и работы с офисным пакетом, то наверное, да.
                • +1
                  Странная у вас аргументация. Мучаетесь вы, а вред компьютеру?
                  Если вы заранее не можете спланировать таблицу разделов, то используйте lvm.
                  • +5
                    А какой вред компьютеру-то?
                    • 0
                      Это я у вас спрашиваю.
                  • +3
                    У меня долгое время была такая схема:

                    Есть разделы для:

                    / — система, (ext4, от 10 Гб до 20 Гб)
                    /boot (ext2, до 1 Гб)
                    /home (ext4, до 20 Гб)
                    /media/media (почти всё остальное место)

                    Сейчас, после покупки SSD сетап другой, / и /home переместились в зашифрованный LVM на SSD. /boot тоже на SSD, вне LVM.

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

                    Директории, которые занимают больше всего места в home, такие как, Видео, Изображения и Файлы и так далее, являются просто симлинками на соответствующие директории в /media/media. Директории типа Загрузки и Документы находятся в home, на SSD, т.к. он зашифрован.

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

                    Так что не надо рассказывать про ненужность и вредность. Если с умом подходить к этому — проблем от этого ноль, зато плюсов — полно.
                    • 0
                      Это было бы актуально, если бы я занимался какими-то мифическими «экспериментами» и переустановками. Но увы, у меня прошла эта пора.
                      Ваш юзкейс был бы актуален, если бы на дворе был 2000й год, а VirtualBox был бы еще не написан.
                      Ставлю все на один раздел, когда покупаю новый винт просто копирую этот раздел (таки на живую, просто делаю remount / -o,ro) на новый винт, расширяю под все пространство и все. Зачем мне что-то еще? Никто так этого и не смог объяснить.
                      • +1
                        Дистрибутивы имеют свойство обновляться (не все ещё перешли на схему rolling release) — и вот тут наличие отдельного раздела для /home очень себя оправдывает. Переустановил систему — и все настройки сохранились. Очень полезное свойство.
                        К тому же экспериментами с собственными сборками я таки занимаюсь, частенько накатываю для обкатки свой дистрибутив себе же, чтоб понаступать на грабли и исправить их. Опять же без «отдельного хомяка» никуда.
                        • –1
                          А куда же у меня, интересно, пропадет /home при обновлении уже установленного дистрибутива?
                          Или вы предлагаете каждый раз сносить все полностью и устанавливать заного?
                          • 0
                            Если вы не уверены в результате обновления или если результат оказался печальным, то это проще всего. И проще удалять файлы с помощью mkfs при заранее продуманном их распределении по блочным устройствам, чем думать, что надо указать rm, а что не надо.
                            • +1
                              В теории, знаете ли, нет разницы между теорией и практикой. А на практике — есть.

                              Например, на askubuntu.com правильно пишут: «upgrading Ubuntu works 99 times out of 100». Апгрейд Ubuntu 12.04LTS -> 13.10 (минуя 12.10 и 13.04) превратил одну известную мне систему в овощ, неспособный к запуску половины демонов, включая gnome-session. Переустановка помогла. Так что я бы рекомендовал не только /home хранить отдельно, а ещё и вывод dpkg --get-selections перед апгрейдом сохранять куда-нибудь.

                              С другими дистрибутивами, подозреваю, дела обстоят ничуть не лучше.
                              • +1
                                На моей памяти ни разу ubuntu после обновления (например, 12 -> 13) не вела себя как свежеустановленная система или хотя бы не хуже этой же системы до обновления. Почему-то всегда вылезали какие-то проблемы, когда больше, когда меньше, и проще было форматнуть / и переустановить систему не форматируя /home — 30 минут работы (с учётом скачивания дистрибутива и записи на флешку) и получаем свежеустановленную почти полностью настроенную систему.
                                • 0
                                  Не помню такого в своей Gentoo. Вот медленное замусоривание, после которого проще переустановить, чем найти источники проблем — может быть. Особенно, если вы не очень опытный пользователь. Rolling release имеет свои преимущества: с ним очень сложно устроить большие проблемы при обновлении.

                                  Я, кстати, весь /etc засунул под контроль mercurial. И поместил туда /var/lib/portage/world (оставив на прежнем месте symlink, т.к. это чуть ли не единственная принципиально не настраиваемая локация) (debian’овские --get-selections в Gentoo изначально удобно расположились в отдельном текстовом файле).
                                  • –1
                                    А /etc под hg запихнуть — интересная идея. Сам сижу на arch'е (выше про убунту — это скорее наблюдение со стороны и последующая помощь в возврате системы к жизни :) ), конфиги тут сами по себе не меняются, а вот чтобы свои бекапы при серьёзных изменениях не плодить использование cvs может оказаться удобным/полезным…
                                    • 0
                                      не мучайтесь, давно есть утилита etckeeper
                                      • 0
                                        Ну она точно так же использует hg/git/bzr/… и имеет набор хуков для менеджеров пакетов в разных дистрибутивах. Мне проще/понятней будет самому выполнять commit :). А так как пока меня подход заинтересовал исключительно в плане содержимого конфигов, то действительно для меня проще напрямую использовать привычную vcs.
                                        • 0
                                          Я уже вроде где‐то отвечал, почему она не подходит. Сейчас не помню всего, но одно нашёл точно — судя по коду при изменении настроек пакетным менеджером etckeeper делает commit. Мне это не нужно нафиг: я веду две ветки — одну с настройками по‐умолчанию, другую с собственными изменениями; после (пере)установок/обновлений делается commit в default и merge. И именно из‐за merge я держу там mercurial: откат мне практически никогда не требовался: большинство настроек легко откатываются либо по памяти, либо с использованием Vim с его persistent undo (ещё больше настроек заменяются на другие верные при обнаружении проблем после их изменения, а не откатываются).

                                          Ещё, как я понял, он делает commit перед запускам пакетного менеджера. Такая самостоятельность мне тоже совершенно не нужна — в /etc часто есть изменения, которые я собираюсь откатить (т.к. это тестовые изменения/временный хак для исправления проблемы и т.д.), и «грязный» hg status мне служит для этого напоминанием. Это оказалось приятным дополнением к merge.
                                        • 0
                                          Я не знаю, как при обновлении ПО могут не обновиться настройки по‐умолчанию. Portage не трогает настройки, если они защищены, либо были изменены пользователем, но он всегда кладёт файлы со специальным именем с новыми настройками по‐умолчанию (или со старыми — он их не различает, что меня раньше изрядно злило) и напоминает про них при каждом запуске emerge. Мой скрипт позволяет мне сделать merge того, что положил portage и того, что имею я, ведя две ветки /etc в трёх каталогах (сам /etc, tip моей ветки без изменений в рабочем каталоге и tip ветки с настройками по‐умолчанию: существуют по техническим причинам (так намного проще скриптом сохранять настройки и делать merge)).

                                          Сам скрипт здесь: bitbucket.org/ZyX_I/update-script. Сразу предупреждаю: медленный на множестве изменений, не поддерживает откат при <C-c> (вам придётся шастать по всем трём каталогам, откатывая изменения, если вы не подумали перед запуском) и при указании конкретных файлов для обновления требует указать --none, иначе будет спрашивать вас про все не указанный файлы. И я даже не пытался прикрутить автоматическое обновление после запуска emerge. Меня пока более‐менее устраивает.
                                    • 0
                                      Я не знаю, куда у вас что девается в вашей системе.
                                      В моей системе раздел, содержащий /home, неприкосновенен при обновлениях, переустановках и прочих необратимых операциях. Просто потому, что это отдельный раздел на винте.
                                      Остальные разделы я могу колбасить как угодно, и это не повлияет на мои личные файлы, настройки и прочих мелких тараканов.
                                      Идите нафиг, /home — наше всё.
                                  • 0
                                    Я приводил пример с неудачным апгрейдом и откатом назад (причём откат был даже не к предыдущей версии). Причём, в чистой системе (в виртуалбоксе или в живой сессии) некоторых проблем не было, так что обезопасить себя без реальной установки было невозможно.

                                    А скопировать диск при апгрейде харда — как-то особой разницы нет сколько разделов копировать. Ну подумаешь, выполнить не одну команду, а три.
                                    • 0
                                      Столкнулся с проблемой того что за 8 лет требования на свободное место СИЛЬНО изменились. И если в 2006 мне хватало 1-2 ГБ на /usr то сегодня он занимает у меня 15. И что мне, раз в несколько лет все это пересоздавать, расширять, двигать итд итп? Зачем? За 8 лет от этого были только проблемы.
                                      • 0
                                        А скопировать диск при апгрейде харда — как-то особой разницы нет сколько разделов копировать. Ну подумаешь, выполнить не одну команду, а три.


                                        Если правильно смонтировать разделы нового и старого винта, то скопировать можно и одной командой cp -rav. Сам так дважды перезжал, пруф
                                  • 0
                                    Странная у вас аргументация. С разделами мучались вы, а вред компьютеру? Это как?
                                    Если вы заранее не можете спланировать таблицу разделов, то используйте lvm. Заодно и переезжать проще будет.
                                    P.S. Дополню ваш workaround c большими тяжёлыми директориями на харде в /mnt. Можно весь «тяжеляк» (~/Downloads, ~/Video, ~/Music, etc.) вынести симлинками на оную точку монтирования. Ладнее и проще, да и восстанавливать быстрее.
                                • –4
                                  Объясните, зачем вы советуете использовать 32-разрядную систему? Даже если установлено не более 4 гигабайт памяти, зачем использовать 32 бита? Да, вопрос не в том, зачем использовать 64-разрядную систему, а в том, зачем 32-разрядную. 21 век блин на дворе уже давно, а вы свои пережитки всё тащите и тащите. Ну и про PAE — а вы в курсе, что PAE замедляет работу с памятью?
                                  • 0
                                    Вернее, не советуете, а пишите, что кроме большего объёма адресуемой памяти преимуществ нет
                                    • +9
                                      Не знаю, где вы это прочитали, я наоборот всеми руками за 64 бита.
                                      • +1
                                        Я про это:
                                        >От производительности оперативной памяти мало что зависит, от нее не увеличится FPS в играх и не станут быстрее запускаться приложения. Использование 64-битных приложений тоже не дает никакого прироста для обычных задач, только для очень специфичных математических расчетов и операций архивирования. Также, использование 64 ядра не требуется для адресации более 4 ГБ памяти, PAE позволяет адресовать до 64 ГБ памяти на 32 битной системе.

                                        Не использование PAE даёт прирост в производительности при работе с памятью. Я уже не говорю про различные multimedia задачи. То есть, от использования 64-бит выгода есть всегда, даже если памяти меньше 4Gb.
                                        • 0
                                          Ну да, дает какой-то сферический прирост. Только ни в играх, ни обычной работе я его так и не заметил.
                                          А про мультимедиа задачи можно пруфы?
                                          • 0
                                            Ну вот например такое нагуглилось: bingouv.blogspot.ru/2008/08/desktop-linux-performance-comparison32.html

                                            Вот на форониксе ещё: www.phoronix.com/scan.php?page=article&item=ubuntu_1404_x64&num=1
                                            • +2
                                              Ожидаемо. Как я и говорил, в играх эффекта почти нет.
                                              В общем-то беседа ушла куда-то не туда. Я уже говорил — всеми руками за 64 бита.
                                              • 0
                                                Я, например, вообще в игры не играю. А для вас домашний десктоп — это только игры?
                                                • 0
                                                  Это максимум, что может его загрузить. А что еще? Браузер? Офисный софт? VirtualBox? Eclipse? Для этого всего мне хватает и одноядерного нотбука 8 летней давности.
                                                  Не забывайте, что прогрессу ПК (особенно видеоадаптеров) в 00х мы обязаны почти полностью играм.
                                                  • 0
                                                    А как же кодирование видео? Да даже mp3, если в больших количествах, будет заметна разница в производительности.
                                                    • 0
                                                      Это не риалтаймовые задачи (в отличие от игр): вы один раз отлаживаете пайплайн, а потом каждый раз просто запускаете кодирование и уходите пить пиво или ложитесь спать.
                                                      • –3
                                                        А зачем кодировать видео и mp3?
                                                        • 0
                                                          Странный вопрос. Я даже не знаю, что ответить, кроме «надо».
                                                          • +1
                                                            У автора данной статьи вообще довольно странная аргументация: все, что выходит за переделы его привычного usecase, — не нужно :)
                                                            • –2
                                                              Действительно странный. Наверное это надо кому, кто занимается видеомантажем? И неужели он камеру купил, а на компьютер не хватило?
                                                              И да, это действительно домашнее занятие?
                                                              • +3
                                                                >Наверное это надо кому, кто занимается видеомантажем?

                                                                Мне, например, надо сконвертировать музыку перед записью на usb-flash, потому что аудиосистема в машине не понимает flac.
                                                                Видео в том числе с камеры. Иногда качаю мультики детям, а dvd-плеер понимает не все форматы.

                                                                >И неужели он камеру купил, а на компьютер не хватило?

                                                                Хватило, именно на компе я этим и занимаюсь. А где ещё?

                                                                >И да, это действительно домашнее занятие?

                                                                А мне надо на работу нести всё это барахло, чтобы перекодировать?
                                                                • 0
                                                                  Вполне обычный и домашний таск — привезти видео и фотки из путешествия и обработать/сконвертировать.
                                                          • +3
                                                            Научите, пожалуйста, запускать Eclipse на одноядерном ноутбуке восьмилетней давности. А то он у меня на C++-проектах и на i7 3930 задыхается и то ли намертво виснет, то ли просто анализирует один плюсофайл более двадцати минут.
                                                            • –1
                                                              Скорее всего памяти мало. В 8 летний ноутбук все же легко поставить 4 ГБ :)
                                                              P.S. i5-2500 eclipse просто летает.
                                                              • 0
                                                                Далеко не во все 8-летние; например, в мою версу (март 2006 г.) влезает максимум два (чипсет больше не умеет).
                                                                • +2
                                                                  На машине с i7 3930 как раз 64 гигабайта. Не думаю, что на четырёх будет существенно лучше.
                                              • –19
                                                1. Купите SSD, если у вас его еще нет

                                                Очень специфичная для Linux информация, ведь для Windows или Mac OS он бесполезен… Да?

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

                                                Увы, ложь. Игры, весящие по 10+ ГБ и загружающиеся с HDD примерно за 30-40 секунд, за 0 секунд с SSD не загрузятся. Напомню, в названии звучало «для desktop и игр».

                                                3. Используйте 64-битное ядро

                                                Опять же, очень специфичная для Linux информация, для WIndows она полезна не будет.

                                                По остальным пунктам я надеюсь услышать комментарии профессионалов, т.к. если в указанных мною информация подана, скажем так, немного предвзято, не факт, что в остальных всё иначе. Просто я помню, как «спецы» долго доказывали, что в WIndows файл подкачки вреден (на самом деле нет), вот у меня сейчас сомнения и ассоциации с теми, «супер-профи» статьями возникает.
                                                • +3
                                                  Побалуйте себя мороженым или вообще чем то сладким и все станет не таким серым и унылым )
                                                  • +1
                                                    Исходя из личного опыта, если RAM достаточно, то выключение свопа в винде ведет к более отзывчивой работе системы.
                                                    • 0
                                                      Некоторым играм пофиг, а метро 2033 у меня стало грузится за 1-2 секунды, вместо 10+.
                                                      Про своп — миф win9x, даже в winxp я уже не замечал каких-либо изменений при его отключении (если конечно памяти достаточно)
                                                      • +1
                                                        На венде работа со свопом вот так сразу в глаза не бросится, если оперативки хватает.
                                                        Кроме того у них в реестре есть крутилки немного меняющие поведение алгоритма свопа.
                                                        В целом в своп венда всегда выгружает мало используемые страницы памяти, даже если памяти ещё навалом, просто про запас, чтобы когда какому либо приложению вдруг приспичит то сразу ему отдать оперативу.
                                                        Те чтобы заметить нужно по запускать приложений, свернуть их, спустя продолжительно время развернуть или ещё как то заставить их обратится к памяти, тогда венда её со свопа поднимет.
                                                        Лично я давно начал практиковать полное отключение свопа в винде, это заметно снижает количество обращений к диску и фризы при этом.
                                                        • +6
                                                          Своп не миф. Своп способ удовлетворить неограниченные запросы ПО на память при ограниченном количестве оной. Единственный вменяемый ответ на вопрос «зачем своп выключаешь?», который я слышал это «2Гб жесткого диска жалко, лучше я на эти гигабайты файлов запишу». Других аргументов нет. Тут вопрос лишь в том, что система сделает в редком случае нехватки оперативки: грохнется, прибьет случайный процесс или скинет неиспользуемую страничку на диск. Если жалко места на жестком диске, то возможно стоит смириться с редкими падениями системы от нехватки памяти. Вы мапинг файлов в память тоже злом считаете? Как боретесь? А ведь эта процедура происходит гораздо чаще чем свапинг и должна давать большую просадку в производительности.

                                                          Вот вам пример как свапинг используется у меня: 4Gb оперативки; компеляется что-то очень большое в tmpfs, и тут мне приспичило запустить пару-тройку виртуалок; то что было в tmpfs спокойно переместилось на диск, в своп… компиляция пошла чуть медленнее, но виртуалки работают вполне себе комфортно. В случае отказа от свопа, кому-то бы пришлось умереть. Наверное стоит докупить памяти, и я куплю, но завтра…

                                                          И кстати вы не упомянули про tmpfs. Вы считаете целесообразным использовать половину оперативной памяти для нее в случае отказа от свопа? Не слишком дорого?
                                                          • 0
                                                            еще у меня лично была ситуация, причем аж на win7x64, что без свопа драйвер от 3G модема Ericsson периодически выдавал голубой экран. что-то там у бешеных шведов с квалькомом было криво сделано.
                                                            • +1
                                                              Да многие программы отказываются стартовать, если своп отключен. Если я не ошибаюсь, Civilization 5 тоже таким страдает. Помогает установить своп минимального размера, например 100 мб.
                                                              • 0
                                                                если бы стартовать, нет, тут при длительной работе сначала умудрялся подвисать сетевой интерфейс модема, а при попытке рестартовать его и работающий поверх openvpn — БАБАХ и голубой экран.
                                                            • –7
                                                              12 ГБ памяти на моем компьютере, oom-killer никогда не срабатывал еще, не понимаю о каких проблемах вы говорите.
                                                              На мой взгляд компьютер, который постоянно свопится — дико тормозит и так работать нельзя.
                                                              • +4
                                                                Кстати, да… vm.swappiness=0 в sysctl.conf для десктопа никто не отменял. Я, правда, всегда 10 ставлю, но своп все равно используется только когда он реально нужен. Так что нет смысла его отключать совсем.
                                                                • 0
                                                                  А чем filemapping то не угодил?
                                                                  Он, в отличие от свопа, непрозначен (в смысле, если его не юзаешь, он и не используется).
                                                                  И так-то он все же ускоряет работу с файлами.
                                                                  Потому что если мне нужно поработать с файлом из программы — в классике я прочитываю его весь или кусочек в память (при этом ОС его еще возможно захочет буферизовать). Получается io с диска в файловый буфер, потом копирование оттуда в хранилище, с которым работает мой код. А с мэппингом я ничего заранее не считываю; просто обращаюсь к блобу напрямую. Чтение и буферизация ОС при этом остаются, но вот последующее копирование полностью устраняется.
                                                                  • +2
                                                                    Мне всем угодил. Но это тот же свапинг, но без записи. Если ядру будет нужна страница памяти, то оно без зазрения совести выбросит кусок файла из памяти, а при обращении к нему, прочитает вновь, с диска. В каком месте непрозрачно? Кто мне даст 100% гарантию что смапленый файл действительно в памяти, а не на диске?

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

                                                                    И главное автор не приводит конкретных, воспроизводимых примеров: вот своп включен, делаем то-то и то-то — отзывчивость интерфейса падает. Выключаем своп — все летает, и главное — ничего поломатым не сделалось. А не показывает, потому что такого примера нет. А если будет, то надо писать багрепорт, а не статью на хабр.
                                                                  • 0
                                                                    К примеру, у меня своп практически не используется на Ubuntu 12.04 LTS 32 bit (2 ГБ ОЗУ), хотя и выделен в размере 2 ГБ. На том же нетбуке, примерно в тех же юзкейсах, но на Windows 8.1, во время работы браузера (особенно эпично с IE11) своп работает нон-стоп, превращая систему в овощ из-за медленного жесткого и создавая на нем очереди на чтение и запись больше 10 000 мс.
                                                                    Более того, если внезапно открыть первую из 10+ вкладок в IE, находясь на последней, будет заметно, что система грузит страничку из свопа — слышно по хрусту ЖД и видно по счетчикам производительности (присутствующей активности диска под 99% и отсутствующей сетевого интерфейса).
                                                                    Впрочем, на взрослом ПК с 8 ГБ ОЗУ файл подкачки у винды оставлен чисто для галочки в небольшом объеме — для тех игр и приложений, которые требуют его наличия.
                                                                  • 0
                                                                    В Windows XP была какая-то проблема из-за отключенного свопа. Что-то переставало работать, что-то совершенно не связанное с памятью, сном и тому подобным. Кажется что-то связанное с работой MS-DOS приложений. Хотя точно не помню, но проблема была — это точно.
                                                                  • +4
                                                                    Всё просто: если у тебя оперативы мало — не достаточно для твоих задач, то у тебя выбора нет и своп включать придётся, просто чтобы работать.
                                                                    Если памяти достаточно то своп нафиг не нужен, потому что заранее известно что всем приложениям при нормальной работе памяти хватит.
                                                                    А если приложения работают не адекватно то помрут от нехватки памяти. При включённом свопе они точно также помрут, но в муках, в основном для других приложений и админа, который матюгается о том как его достал этот своп.
                                                                    Это касается всех ОС, хотя алгоритмы использования свопа у всех разные.
                                                                  • +5
                                                                    От производительности оперативной памяти мало что зависит, от нее не увеличится FPS в играх

                                                                    Увеличится, если используется встроенный видеоадаптер. У меня на AMD APU при переходе 1333 -> 1866 было увеличение FPS в Portal 2 с 40 до 60, что очень заметно.
                                                                    • +3
                                                                      Встроенная — экстрим :)
                                                                      Хотя, конечно, замечание верное.
                                                                    • +39
                                                                      Выносить /home в отдельный раздел НАДО, потому что в случае переустановки системы можно будет с чистой совестью форматнуть корень и не протерять настройки софта даже при переходе на совершенно другой дистр.
                                                                      • –8
                                                                        Это не венда, всё прекрасно ставится поверх, хоть копированием.
                                                                        • +10
                                                                          и зачем загаживать фс старыми ненужными файлами?
                                                                          • +2
                                                                            Один диск — один раздел довольно оптимально ИМХО во всех системах. Исключение всякие мелкие разделы для UEFI и загрузчиков.
                                                                            Иначе потом начинается: тут место ещё полно а там уже нет, и гоняешь файлы туда-сюда на одном физ диске.
                                                                            Если парят старые файлы можно легко удалить всё кроме /home руками, времени это займёт минимум.
                                                                            На практике я линух и фрю переставлял когда фс на диске дохла, и арч пару раз при обновлениях дох.
                                                                            • 0
                                                                              Пойду следом за автором статьи. Он предложил купить столько оперативки, чтобы своп никогда не понадобился, а я предложу вам купить жесткий диск таких размеров, чтобы 100 гигабайт, раз и навсегда зарезервированные для системы, были на нем незаметны. И никакие файлы гонять вам не захочется :)
                                                                              • 0
                                                                                Для этого отлично подходит LVM. Нет места в lv — добавляешь еще из vg.
                                                                                И заодно разные операции вроде «добавить еще винт» или «старый стал сыпаться; нужно срочно перенести все на новый» становятся на удивление простыми.
                                                                          • +3
                                                                            в /home 99% программ хранит свои данные и постоянно к ним обращается, поэтому /home должен быть на SSD.


                                                                            плюс еще не всегда старые настройки корректно подхватываются другими версиями.
                                                                            • 0
                                                                              Использую Gentoo и Calculate уже как года 4. Обновляюсь регулярно. Единственное что на моей памяти не подхватило ошметки старых версий в /home это Skype 4.3, но и это из-за проблем с историей а не настройками, что удалось починить.
                                                                              Как чинил
                                                                              По ссылке способ починить историю с помощью sqlite3.

                                                                              Все остальное требует изменений глобальных конфигураций.
                                                                            • +5
                                                                              даже при переходе на совершенно другой дистр

                                                                              А вот и нет. В разных дистрах разные версии окружения. Такой переход у меня удавался только в рамках одного дистра (причем более старую версию поставить не выйдет), в остальных же случаях вылезают глюки, которые словами трудно описать. Иногда их даже сразу не заметишь.
                                                                              • 0
                                                                                Полностью поддерживаю. Только оперу раньше переносил, но сегодня хром сам все восстанавливает из облака.
                                                                                • +5
                                                                                  Годами устанавливаю новую федору, не затирая отдельный /home раздел. Проблемы возникают ОЧЕНЬ редко (даже не вспомню какие были) и решаются очисткой каталога ~/.имя_программы, если что-то пошло не так при запуске. При этом от КДЕ до thunderbird у меня все настройки сохранены и не требуют вместо работы тратить часы на перенастройку всего софта.
                                                                                  • 0
                                                                                    В рамках Fedora — разумеется, я и сам так делал. Но я отвечал человеку, который сказал, что можно таким образом и дистр поменять — на Debian, например. На самом деле нельзя :)
                                                                                    Кстати, а почему не обновляете Fedora вручную? Я, кажется, с F16 Beta до самой F19 обновлялся постепенно — проблема была только один раз, когда во время обновления отключили электричество и под удар попали как раз yum и еще что-то важное. Так вот, с помощью ЛОРа и гугла даже это смог разрулить за полчаса. Зато это чувство установленной неизвестно когда системы, которая прошла через огонь и воду — очень хорошее чувство :)
                                                                                  • 0
                                                                                    Хм… А mint, ubuntu, debian и LMDE — это один дистрибутив или разные? :) На мой взгляд, debian-based еще не значит одинаковые. Однако переезды в различных направлениях проблем не вызывали вообще… А данные в /home я не видел, во всяком случае от приличных программ, только настройки, которые замечательно кеширует ОС после первого обращения.
                                                                                    • +1
                                                                                      80% используемого мной софта без проблем подхватывали свои настройки при смене дистра
                                                                                      • 0
                                                                                        90%. А то и больше.
                                                                                    • +1
                                                                                      Делайте бэкапы.
                                                                                    • +3
                                                                                      Вопрос к ТС — разве TuxOnIce перестал требовать SWAP для счастья? В свое время у меня создалось впечатление, что он как раз на SWAP-раздел и сохранял состояние памяти.
                                                                                      • –1
                                                                                        Не знаю, я не пользуюсь всеми видами suspend'а
                                                                                        • 0
                                                                                          Ему необязательно нужен своп раздел, помимо раздела можно использовать своп-файл или суспенд-файл, непринципиально.
                                                                                          • 0
                                                                                            TuxOnIce умеет сохраняться в файл. Кстати: если вы включите swap и будете использовать для сохранения его, то у вас будут три проблемы: во‐первых, если оперативка занята и swap тоже, то никакого suspend не будет (я всегда решал эту проблему самым простым способом — увеличением либо оперативки, чтобы swap можно было включать непосредственно перед suspend, либо swap’а). Во‐вторых, TuxOnIce вытесняет в swap всё, что может, как будто у вас закончилась оперативная память — в итоге система загрузится довольно быстро, но будет очень сильно тормозить, поскольку все страницы в swap’е. А swapoff работает явно не со скоростью чтения с диска. В‐третьих, TuxOnIce вроде имеет привычку сохранять кэши, которые вам из‐за второй проблемы совершенно ни к чему: я не смотрел, действительно ли это так, но echo 1 > /proc/sys/vm/drop_caches могло «починить» нехватку памяти.

                                                                                            Не знаю, что из этого отностится к suspend’у в файл.
                                                                                          • +7
                                                                                            Выносить отдельно надо как минимум /home и /var. Я вообще LVM использую. 100-200Mb под /boot, остальное место под physical volume, которое уже нарезаю средствами LVM, оставляя в группе томов как можно больше свободного места. LVM можно ресайзить, ext3/4 тоже умеет online resize, так что дальнейшее увеличение логических томов — не проблема.
                                                                                            • +2
                                                                                              200 МБ под /boot = постоянная нехватка места там при пересборке initrd.
                                                                                              / на ssd ресайзю, как вы и говорите, вверх без проблем при покупке нового, смысл заниматься всем, что вы описали? какие преимущества? за 10 лет от этого были одни проблемы то с нехваткой места, то с переносом, то пятое то десятое.
                                                                                              • 0
                                                                                                Смысл отдельных разделов под каталоги — в возможности выбрать разные ФС (и по-разному их настроить), которые будут лучше решать поставленные задачи.
                                                                                                • 0
                                                                                                  А что для десктопа лучше ext4? Пробовал рейзер, пробовал xfs, толку не увидел.
                                                                                                  • 0
                                                                                                    У меня reiser4 со сжатием для /usr/portage и для /var немного подкрученная.
                                                                                                    • 0
                                                                                                      Хорошо, но какая польза? Я вообще слышал что рейзер для ssd не очень подходит.
                                                                                                      • 0
                                                                                                        Какая польза от сжатия или шифрования данных? Ну я даже не знаю, что ответить :)
                                                                                                        Насчет непригодности reiser4 на ssd ничего не слышал, к сожалению. Но в планах опробовать на личном опыте.
                                                                                                        • 0
                                                                                                          Дома мне шифровать нечего, а жать уже сжатое (медиаконтент, дистрибутивы итп) — это работа в минус.
                                                                                                          Но в планах опробовать на личном опыте.
                                                                                                          наверное, у меня просто за 10 лет прошел период «хочется все опробовать». и рейзер у меня стоял, и xfs, чего только не было, и тесты я разные им делал
                                                                                                          • 0
                                                                                                            а жать уже сжатое (медиаконтент, дистрибутивы итп) — это работа в минус.
                                                                                                            Так как раз потому, что есть разные разделы под разные каталоги, можно на чем-то (/var, /portage, /) включить сжатие, а начем-то (/usr) — не включать, потому что нет смысла. И так же с шифрованием, и с размером блоков, и прочим.
                                                                                                            Дома мне шифровать нечего
                                                                                                            Надеюсь, мы не говорим о вашем конкретном случае, а об общем. Я же не пишу, что у меня ноутбук, и что мне нужен suspend to disk и потому он нужен всем. Потому что не нужен. Так и с разделами: кому-то надо, кому-то — нет.
                                                                                                          • 0
                                                                                                            А зачем шифровать /usr/portage?
                                                                                                            • +1
                                                                                                              Чтобы никто не украл секретные ебилды.
                                                                                                              Естественно, не за чем. Это был просто пример: как отдельный раздел можно вынести и пожать. Шифровать можно / или /home.
                                                                                                        • 0
                                                                                                          А ещё portage можно на squashfs держать (https://github.com/init6/init_6/wiki/squashed-portage-tree)
                                                                                                          • 0
                                                                                                            Ага. И корень. И всего этого разнообразного великолепия мы одномоментно лишаемся, забацав все на один раздел.
                                                                                                            Впрочем, имхо, со squashfs решение слишком уж замороченное по сравнению с прозрачным сжатием reiser4, хоть, возможно, и с некторой меньшей эффективностью сжатия.
                                                                                                        • 0
                                                                                                          А можно в конкретных цифрах и юзкейсах рассказать, чем ext* лучше xfs? А то даже RH, которая упиралась с ext* до последнего, в итоге признала очевидное и теперь в RHEL7 по умолчанию xfs.
                                                                                                      • +1
                                                                                                        # du -hs /boot
                                                                                                        16M /boot
                                                                                                        # ls -l /boot
                                                                                                        итого 8555
                                                                                                        drwxr-xr-x 6 root root 1024 авг 1 21:56 grub
                                                                                                        lrwxrwxrwx 1 root root 41 авг 1 21:52 initramfs -> initramfs-genkernel-x86_64-3.14.14-gentoo
                                                                                                        -rw-r--r-- 1 root root 3557172 авг 1 21:52 initramfs-genkernel-x86_64-3.14.14-gentoo
                                                                                                        lrwxrwxrwx 1 root root 38 авг 1 21:44 kernel -> kernel-genkernel-x86_64-3.14.14-gentoo
                                                                                                        -rw-r--r-- 1 root root 3245808 авг 1 21:44 kernel-genkernel-x86_64-3.14.14-gentoo
                                                                                                        drwx------ 2 root root 12288 май 24 2008 lost+found
                                                                                                        lrwxrwxrwx 1 root root 42 авг 1 21:44 System.map -> System.map-genkernel-x86_64-3.14.14-gentoo
                                                                                                        -rw-r--r-- 1 root root 1904432 авг 1 21:44 System.map-genkernel-x86_64-3.14.14-gentoo

                                                                                                        Не вижу проблем. При моём use case ещё ни разу не было, чтобы не хватало 100Мб. Это на Gentoo. На CentOS делаю 200Мб. И использование LVM — это не единственный повод делать отдельный boot. Это ещё и возможность запустить ядро, initramfs и shell при упавшей корневой ФС. Что до LVM — так это просто очень удобный инструмент работы с данными на диске. Больше нет проблем с экспериментами с другими ФС. А переезд на новый винт делается при работающей системе. Я уж не говорю про снэпшоты.
                                                                                                        • –3
                                                                                                          «у меня работает, значит у всех так» — отличный аргумент!
                                                                                                          Зачем эксперименты с другими фс, если есть ext4? Я уже наэкспериментировался, дико жаль потраченное время, особенно на XFS.
                                                                                                          А переезд на новый винт делается при работающей системе.

                                                                                                          Ага, спасибо и железа я тоже много сжег работающего.
                                                                                                          • 0
                                                                                                            >«у меня работает, значит у всех так» — отличный аргумент!

                                                                                                            Где я писал про всех? Надо свою голову иметь.

                                                                                                            >Зачем эксперименты с другими фс, если есть ext4? Я уже наэкспериментировался, дико жаль потраченное время, особенно на XFS.

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

                                                                                                            >Ага, спасибо и железа я тоже много сжег работающего.

                                                                                                            А это здесь при чём? Если оборудование не поддерживает hot swap, я не предлагаю втыкать на горячую. Можно выключить комп, воткнуть диск, включить, загрузить ОС, запустить перемещение и продолжать спокойно работать, пока идёт процесс. Даже если вырубится питание, ничего страшного не произойдёт. Процесс возобновится при следующем старте.
                                                                                                            • 0
                                                                                                              С LVM нарвался однажды прямо на хрестоматийные грабли!
                                                                                                              Решил увеличить /boot, на ноутбуке жены, покуда надоело раз в месяц запускать apt-get autoremove и удалять старые ядра (сама она не хочет этим заниматься, а мне хотелось сделать это вмешательство гораздо более редким).
                                                                                                              А винт как раз размечен — раздел EFI, boot и единый большой pv. И вот тут как раз возникла проблема ресайза pv. Вроде просто — добавить еще один pv в группу, буксануть на него данные и потом лепить из освобожденного все, что угодно.
                                                                                                              А не тут-то было! Данных достаточно много (около 200 гиг) Из доступных внешних дисков только небольшие флешки да старый медиаплейер на usb 2.0.
                                                                                                              По итогу пригодилось, что домашний роутер — с гигабитными портами. Создал на десктопе nfs-шару, в нее положил 200-гиговый пустой файл, на ноуте подключился к шаре, подключил файл на lo-устройство, создал в нем pv, включил в группу, буксанул данные… и тут ноут внезапно завис…
                                                                                                              Вроде lvm перемещает тома достаточно безопасно (создает новый lvm том и копирует в него экстенты, и только после успешного завершения переназначает их на старый), но тут проблема в том, что этот новый том, смонтированный из образа через сетевую шару — часть vg. И при перезагрузке он, естественно, не был найден initrd (откуда ж ему знать, что нужно лезть в nfs и смотреть вон-в-тот файл).
                                                                                                              Благо, на том же роутере помимо гигабитных портов воткнут винт, и поднят сервер для сетевой загрузки той же убунты. Грузился в него, там заново собирал всю vg и завершал перемещение. Все получилось, но осадочек все равно остался.

                                                                                                              Правило, которое я для себя усвоил — если хочется отдать один огромный раздел под pv для lvm, то лучше его разбить на несколько, и добавить эти несколько pv. На скорость работы это никак ощутимо не повлияет, зато в случае необходимости останется маневр для манипулирования этими pv в пределах диска.
                                                                                                              • 0
                                                                                                                lvm всегда можно запустить без недостающего pv, а сама утилита lvm при каждом изменении конфигурации создаёт бекап метаданных. Я восстанавливал данные даже с частично затёртых pv. PV с затёртыми метаданными, конечно, нельзя использовать внутри группы, но эти метаданные можно восстановить из бекапа. Так же и с отвалившимся во время перемещения pv. Можно было восстановить метаданные группы на момент до перемещения.
                                                                                                        • +1
                                                                                                          Genkernel не пересобирает initramfs в /boot. Так что не =, во всяком случае, не у всех. Лучше пните того, кто писал программу для сборки initrd в вашем дистрибутиве.

                                                                                                          И не надо пинать Black_Shadow: «у меня не работает, значит у всех так» — это тоже неверное утверждение. Он указал, при каких условиях у него работает. А вы не указали, при каких условиях у вас нет.
                                                                                                          • 0
                                                                                                            Genkernel не пересобирает initramfs в /boot.

                                                                                                            Вообще-то собирает:
                                                                                                            andreilPC / # ls -l /boot
                                                                                                            total 11420
                                                                                                            drwxr-xr-x 6 root root 4096 июл 9 16:53 grub
                                                                                                            -rw-r--r-- 1 root root 2136589 авг 15 08:17 initramfs-genkernel-x86_64-3.15.0-gentoo-r1
                                                                                                            -rw-r--r-- 1 root root 5963936 авг 15 08:17 kernel-genkernel-x86_64-3.15.0-gentoo-r1
                                                                                                            -rw-r--r-- 1 root root 3559631 авг 15 08:17 System.map-genkernel-x86_64-3.15.0-gentoo-r1
                                                                                                            • 0
                                                                                                              Я сказал не собирает. Никто не сомневается, что результат сборки находится в /boot.
                                                                                                              • +1
                                                                                                                Извиняюсь, не так понял суть предложения :)
                                                                                                            • –1
                                                                                                              Зачем мне его пинать, я больше не занимаюсь бредом в виде вынесения /boot в отдельный раздел и соответственно таких проблем не имею. А дистр, где такой скрипт — убунта.
                                                                                                              • 0
                                                                                                                Не надо называть отдельный /boot бредом. Вам уже привели несколько причин, зачем это нужно. Если к вам эти причины не относятся или вам кажется, что они к вам не относятся, то это не значит, что отдельный /boot является бредом. Я его тоже не везде ставлю отдельным.

                                                                                                                Genkernel, кстати, позволяет настраивать место, где будет происходить сборка, по‐умолчанию использует /var/tmp. Ничего подобного в документации к initramfs.conf я не нашёл.
                                                                                                          • +3
                                                                                                            GRUB2 умеет обращаться к /boot, расположенному на LVM. Так что можно не выносить вне PV.
                                                                                                            • +1
                                                                                                              Да, на чтение, но мне как-то нужна была запись (grub сохранял переменные). Теперь уже не надо, но /boot так и остался отдельным разделом, а не логическим томом.
                                                                                                            • +1
                                                                                                              А объясните пожалуйста, в чем принципиальный смысл отдельного раздела под /boot? Для /home и прочих /media понимаю и сам пользуюсь (корень на SSD), но к чему отделять на десктопе /boot от корня — так и не уловил.
                                                                                                                • +2
                                                                                                                  Мне кажется, что при упавшей корневой ФС запуск ядра и shell будет наименьшей из моих проблем :) Опять же, LiveCD и прочие сторонние источники загрузки всегда есть под рукой, так что решаемая таким образом задача видится мне довольно надуманной.
                                                                                                                  • 0
                                                                                                                    не всегда бывает так что
                                                                                                                    LiveCD и прочие сторонние источники загрузки всегда есть под рукой

                                                                                                                    так что не уверен что задача настолько надуманна. Гораздо проще загрузится без «сторонних источников».

                                                                                                                    PS: IMHO
                                                                                                                    • +1
                                                                                                                      (осторожно) а что, CD-дисками до сих пор пользуются?
                                                                                                                      • 0
                                                                                                                        Сомневаюсь… Сам постоянно таскаю с собой флешку с SysrecueCD (Live-версия Gentoo).
                                                                                                                        • 0
                                                                                                                          У меня Zalman VE-300 как эмулятор всего-всего
                                                                                                                          • –1
                                                                                                                            Ну, эмулятор это всё же не совсем диск. Просто .iso исторически стал на pc диском-контейнером, на котором можно дежать самодостаточную систему. Примерно как .dmg на маке.
                                                                                                                            А вот именно сам диск, кругленький такой :) Да на современном железе?
                                                                                                                            • 0
                                                                                                                              А зачем нужны диски-то?
                                                                                                                    • 0
                                                                                                                      Ну вот тут выше написали, что grub2 уже умеет доставать данные с lvm, поэтому сейчас может и незачем. А так-то смысл был. Как раз ради успешной загрузки.
                                                                                                                      А кроме grub2 есть и другие варианты. У меня, к примеру, /boot отформатирован в hfsplus и grub положен прямо на него. А вся система живет в lvm, с которым ядро начинает общаться, получив нужные модули и софт в initrd. И «вся эта хрень» нужна для того, чтобы стандартный маковский загрузчик смог увидеть этот раздел и включить его в загрузочное меню. Иначе до grub вообще дело не доходит!
                                                                                                                    • 0
                                                                                                                      Так-то да.
                                                                                                                      Но на той же убунте /boot разумнее сделать где-то с 1 гиг.
                                                                                                                      Иначе два-три апдейта ядра — и уже «ой, что-то загрузиться не может»
                                                                                                                      • +3
                                                                                                                        К счастью, я не пользуюсь убунтой
                                                                                                                    • +9
                                                                                                                      >как уже было сказано проблемы износа SSD нет, это миф, и большое число циклов записи вообще не влияет на долговечность SSD

                                                                                                                      Лютый бред. Какой нафиг миф? Ограничение ресурса на количество записей есть, оно обусловлено технологией. Другой вопрос, что его хватит на несколько лет. А некоторым пользователям возможно и лет на 20. Но сам износ есть, глупо его отрицать. Ну и ни слова о том, что порядка 99% SSD дохнут от внезапной смерти контроллера, а не от износа.

                                                                                                                      Дальше не читал. Ибо будет такая же чушь.
                                                                                                                      • +5
                                                                                                                        99% SSD дохнут от внезапной смерти контроллера

                                                                                                                        ага. sandforce 2009 года.

                                                                                                                        Другой вопрос, что его хватит на несколько лет.

                                                                                                                        действительно, мне ОЧЕНЬ важно, хватит моего ssd на 20 или на 30 лет работы. типичный юзер выбрасывает диски после 5 лет.
                                                                                                                        • 0
                                                                                                                          Эх, похоже я атипичный юзер — у меня хранятся диски 12 летней давности. Правда, на материнке уже нет интерфейсов куда их подключать… :)
                                                                                                                          • +6
                                                                                                                            Класс, у меня тоже хранится диск с первого компьютера. В коробке, правда.
                                                                                                                            В телефоне места больше, чем там.
                                                                                                                          • +4
                                                                                                                            >ага. sandforce 2009 года.
                                                                                                                            Любые дохнут.

                                                                                                                            >действительно, мне ОЧЕНЬ важно, хватит моего ssd на 20 или на 30 лет работы. типичный юзер выбрасывает диски после 5 лет.
                                                                                                                            Никого не волнует что вам лично важно. А вот обманывать людей, рассказывая всякую чушь, нехорошо.
                                                                                                                            • 0
                                                                                                                              Любые дохнут.
                                                                                                                              Тогда пришло время одевать шапочку из фольги.
                                                                                                                              А вот обманывать людей, рассказывая всякую чушь, нехорошо.
                                                                                                                              Ох извините, не 20, а 19 лет, ну может 15, а может и 16. Серьезная ошибка!
                                                                                                                              • 0
                                                                                                                                Простите, я не специалист, но всё же…

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

                                                                                                                                А если умирает контроллер на SSD (вы же не будете отрицать, что это может случиться с любым, даже современным диском), что тогда? Починят, или только выкинуть?

                                                                                                                                Просто, все мы грешны, и не всегда и не всё бэкапим. Особенно, на домашних компьютерах. Увы…