Windows или linux для ssd

Коротко и ясно о Linux и SSD

Недавно, хороший человек подарил мне SSD. Неделю он пролежал у меня на столе, т.к. времени перенастраивать систему под его использование не было. Когда же время появилось, прочитав вот этот пост habrahabr.ru/post/129551, и перелопатив немало форумов, узнал много нового.

Ниже предлагаю компиляцию всего усвоенного в одном тексте.

Итак, сперва теория:

1. ССД диск имеет ограниченное количество циклов перезаписи. Т.е. в один и тот же блок диска, в среднем, можно записать информацию 3000-5000 раз (на дорогие модели дисков можно и больше).

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

3. В незанятый блок, ССД диск пишет намного быстрее чем в занятый.

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

5. В отличие от HDD, в ячейку флеш-памяти NAND нельзя перезаписать новые данные поверх старых, не очистив ее перед этим. Ячейки памяти SSD сгруппированы в страницы (обычно по 4 Кбайт каждая), страницы сгруппированы в блоки (64-128 страниц). Данные можно вписать на чистую страницу, но стирать можно только блоки целиком. Запись на SSD-носитель выполняется очень быстро до тех пор, пока существуют чистые страницы, но значительно замедляется, если необходимо очищать предварительно записанные страницы. Чтобы вернуть в обращение ячейки блока, содержащего смесь актуальных данных и мусора (невалидных данных), контроллер копирует нужное (валидные данные) на пустую страницу нового блока, а затем стирает весь исходный блок. После этого ячейки блока будут готовы принять новые данные.

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

Что бы система начала использовать эту команду при удалении файлов:

1. диск должен поддерживать эту команду.

2. файловая система должна поддерживать эту команду.

3. функция TRIM в файловой системе должна быть включена.

А теперь все это на практике

Чтобы проверить поддерживает ли TRIM диск:

root@citadel:/home/serp# hdparm -I /dev/sdd|grep «TRIM supported»
* Data Set Management TRIM supported (limit 1 block)

Если получаем «Data Set Management TRIM supported (limit 1 block)», то поддерживается. Если слева от этой строки стоит звездочка, то функция активирована.

TRIM поддерживается в BTRFS, XFS, JFS и EXT4.

На данный момент, наиболее пригодна для использования EXT4.

Включить TRIM для файловой системы можно, если добавить discard в опции монтирования в /etc/fstab, или с помощью tune2fs -o discard /dev/sdaX (добавит discard в опции по умолчанию для данной ФС)

Проверить смонтирована ли ФС в данный момент с этой опцией можно посмотрев вывод mount:

/dev/sdd1 on / type ext4 (rw,discard,errors=remount-ro)

ВНИМАНИЕ. Нельзя отключать журналирование, т.к. функция TRIM без него работать не будет. Если верить вот этому источнику (https://wiki.archlinux.org/index.php/SSD#Partition_Alignment), то разница в количестве операций записи с журналом и без него не существенна, т.е. на время жизни диска особо влиять не будет (если только вы не используете его в режиме только для чтения, и хотите чтобы он жил вечно).

В интернетах часто советуют проверить включен ли TRIM таким способом:
1. dd if=/dev/urandom of=tempfile count=10 bs=512k oflag=direct //запись 5Мб рандомных данных

2. hdparm —fibmap tempfile //Ищем любой стартовый LBA адрес у файла

3. hdparm —read-sector [ADDRESS] /dev/sdX //Читаем данные со стартового LBA адреса файла, замените [ADDRESS] на свой Starting LBA address из вывода предыдущей команды

4. rm tempfile //Теперь удалим временный файл и синхронизируем ФС:
5. sync

Повторяем пункт 3 — и смотрим на вывод консоли. Если выведутся нули — то трим работает. Если вы исправили fstab, перезагрузились, но трим не активировался — ищите ошибки в неверном отключении журналирования.

Так вот у меня не выдал нули. Но у меня из 60Гиг харда занято всего 20 (точнее занято всего 8, а 20 это размер раздела.) Я подозреваю, что диск не триммит данные пока не приспичит, или пока не появится много свободного времени.

Вот тут: sites.google.com/site/lightrush/random-1/checkiftrimonext4isenabledandworking по этому поводу написано, что если при таком тестировании, после шага 3, вы видите нули, значит TRIM однозначно работает. Если же вы нулей не увидели, то это еще не значит, что TRIM не работает. Возможно диск обнулит блок позже.

Для ускорения работы системы, за одно с перенастройкой под SSD я под шумок перенес /run и /tmp на tmpfs.

Скорость работы системы ЗНАЧИТЕЛЬНО ускорилась, точнее быстрее стали загружаться приложения, и быстрее загружается сама система.

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

Linux Mint, Windows 8.1 или Windows 10 LTSB — разбираемся на практике, что выбрать для старого ПК

Мои постоянные читатели уже давно знакомы с одним из моих ПК, который используется как медиаприставка — для просмотра youtube, фильмов и простых игр. Иначе, как многострадальным, этот ПК назвать нельзя, так как за чуть более полугода на него ставится уже третья операционная система. Я писал про него в блогах «Собираем недорогой ПК на б/у Core i3-2100, для интернета, учебы, youtube, фильмов и простых игр», «Эксперимент: ставим Windows 10 May 2020 Update на слабый ПК с медленным жёстким диском» и «Сравнение работы Windows 10 20H2 и Linux Mint 20.1 на слабом ПК: Core i3-2100, 8 Гб ОЗУ, HDD».

Читайте также:  Как расшарить usb принтер по сети linux

реклама

Последний блог закончился на весьма позитивной ноте.

реклама

Но при более детальном рассмотрении Linux Mint оказался все тем же Линуксом, который, кажется, вот-вот станет убийцей Windows, но только до первой проблемы. Первая проблема вылезла почти сразу — дефолтная экранная клавиатура (а этот ПК управляется беспроводной мышкой с дивана) не только оказалась ужасной в плане эргономики, занимая почти половину экрана, но и не поддерживала русский язык (обратите внимание — на скриншоте выбрана русская раскладка, на клавиатуре — английская).

Но этого мало, экранная клавиатура еще и «крашила» систему при нажатии на любую клавишу. ОС начинала работать в аварийном режиме, не давая сделать скриншот, поэтому извините за фото с экрана.

реклама

На форумах я нашел решение для включения русской раскладки, но искать причину «крашей» даже не стал, и просто установил стороннюю клавиатуру, удобную, перемещаемую по экрану и меняющую свой размер. Почему по дефолту Linux Mint установлена такая ужасная экранная клавиатура — непонятно.

Как вы успели заметить, скриншот с Linux Mint «мылит» — все просто, с масштабированием экрана на Linux все осталось, как и было, то есть ужасно, и его «масштабирование» просто снижает разрешение. Что еще не понравилось? «Тиринг» при просмотре любого видео в Mozilla Firefox, ужасные по дизайну, очень мелкие элементы управления окнами, которые не увеличились при «масштабировании». Везде надо лезть, править и настраивать руками, а ведь это Linux Mint — самый «юзер-френдли» дистрибутив Linux.

реклама

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

Но какая Windows подойдет на этот ПК? Windows 7 отпадает, поддержка ее закончилась, и она стремительно переходит в разряд ОС для ретроградов, которые до сих пор пользуются Windows XP.
Windows 8.1 — уже более интересный вариант. Основная поддержка Windows 8.1 прекращена 9 января 2018 года, а расширенная поддержка Windows 8.1 действует до 10 января 2023 года.

И знаете, я уже начал скачивать WinFuture Windows 8.1 Update Pack 1.84, содержащий все обновления для Windows 8.1, но только посмотрев на его размер в 3.6 Гб, и представив, сколько времени он будет устанавливаться на ОС, я передумал. Ведь еще вдобавок нужно скачать и установить драйвера на материнскую плату и встроенное видео. В 2021 году заниматься этим уже совсем не хочется, Windows 10 приучила нас не только бояться обновлений, но и к высокому уровню удобства пользователя.

В результате мой выбор пал на Windows 10 LTSB, пробную версию которой можно установить на 90-дней. А дальше все пошло по накатанной колее — запись iso-файла на флешку, довольно быстрая установка даже на такой старый ПК, и в конце ОС сама «подтянула» все драйвера и сразу стала готова к работе.

Минус был только один — OneDrive, который стал заметно тормозить загрузку, но после его удаления все пришло в норму. И вот так ведет себя обычная, «дефолтная» Windows 10 LTSB на старом ПК — занято всего 866 Мб ОЗУ!

Жесткий диск после загрузки быстро приходит в норму и не перегружен.

Ну а процессор вообще отдыхает, запущено всего 39 процессов, в отличие от 100+ процессов на Windows 10 Pro.

А загрузка происходит за рекордные 42 секунды! Напомню, Windows 10 Pro грузилась две минуты и 27 секунд только до появления «Рабочего стола», и еще около минуты «насиловала» HDD, держа его загрузку в 100%, не давая пользоваться ПК. Linux Mint загружался за одну минуту и 17 секунд до «Рабочего стола», так что Windows 10 LTSB уделала всех с большим отрывом.

Что мы имеем в итоге, как лучший выбор для старых ПК без SSD? Шуструю, достаточно современную ОС, с отличной надежностью и неплохим дизайном, с обновлениями безопасности и адекватным встроенным антивирусом. Единственный ее минус — проблемы лицензирования.

И, как правильно заметили комментаторы, моих проблем со старым ПК можно было бы избежать, купив в него недорогой SATA SSD на 120 Гб, например Patriot Burst Elite.

Пишите в комментарии, какие ОС вы ставите на старые ПК?

Linux и Windows на SSD размером в 128 гиг.

На ЖД размером в 500 гиг у меня всегда было так:

Линукс: система — 20 гиг, хомяк — 30 гиг

Все остальное пространство — файлопомойка для обеих ос, в нтфс.

Лет пять как минимум была мечта купить ссд, но не мог его купить, так как на пенсию по инвалидности (дцп) особо и не разгонишься, особенно когда в семье три человека.

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

Заказал ссд на 128 гиг.

Если учитывать что для нормальной работы ссд, на нем должно быть пустого пространства как минимум 35% то две ос ни как не установить на этот ссд.

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

Игры для винды будут сидеть на жд.

Вопрос; как быть в такой ситуации?

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

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

на нем должно быть пустого пространства как минимум 35%

SSD не в курсе, что ты для него это оставил. У него свой скрытый от тебя резерв для похожих целей, а про твою щедрость он не в курсе. Тем более, Windows 10 и Linux умеют trim’ить.

В курсе. Какие-то TLCшные железки (не помню, на чем их строят) используют всё свободное место для быстрой записи в SLC-режиме. Другое дело, что 35% от 128Гб это избыточно много.

Читайте также:  Grub linux по умолчанию

В курсе он об этом.

Заказал на чипе млц.

Винда на лоре — всего лишь четверть. Я думаю в твоих условиях и ты и ssd будете страдать.

Хм. а какие? Я читал, что самсаны часть памяти выделяют под псевдо-SLC кеш. Но там не динамически выделяется. Про переключение на лету я в первый раз слышу.

При таких мелких размерах лучше не разделять. Ещё можно упороться и монтировать вендовый ntfs как /home, вроде все специальные файлы поддерживаются.

Думал, тоже, закинуть хомяка на жд, но не теряется ли смысл использования ссд для скорости работы?

То есть, прога то, которая лежит на ссд, будет обращаться к медленному жд, к своим настройкам в хомяке, и от этого будет падать скорость.

Линукс: система — 20 гиг, хомяк — 30 гиг

На домашней системе не имеет смысла делить рут и home. Потому как базы, докеры и прочее из коробки пишут в /var. Если такое небольшое пространство еще и поделить то всегда будет ситуация когда не хватает то в root, то в home.

То есть, прога то, которая лежит на ссд, будет обращаться к медленному жд, к своим настройкам в хомяке, и от этого будет падать скорость.

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

Еле вспомнил, где я слышал этот звон.
Вот: https://mysku.ru/blog/aliexpress/48966.html#comment1883157
В обзоре есть наглядная иллюстрация.

35% отрезать — имхо, много. 50 гб по винду + 50 гб под Linux (не дели корень и хомяк, ставь все в один раздел). Останется 20+ гб пустого пространства — этого должно быть достаточно. Под винду, кстати, можно выделить 40 гб. 10-ка, насколько я помню, занимает 20 гб после установки, со временем разрастется.

Думал, тоже, закинуть хомяка на жд, но не теряется ли смысл использования ссд для скорости работы?

У меня сам /home на SSD (именно для конфигов и настроек), но в нем всякие каталоги типа Музыка, Видео, Изображения, Загрузки и т.п. являются линками на жесткий диск. На рабочем ноуте SSD всего 32ГБ, но и он наполовину пуст — все данные и рабочие проекты на жестком диске.

Все остальное пространство — файлопомойка для обеих ос, в нтфс.

Слишком неэкономный расход пространства. В линуксе можно примонтировать сам раздел винды, а не какой-то посредник.

Если учитывать что для нормальной работы ссд, на нем должно быть пустого пространства как минимум 35%

Вот теперь сам решай, как тебе быть в такой ситуации.

К слову, линукс можно уместить в

8GB. У меня арч, 1082 пакетов и 4.7GB занятого места. Могло бы быть, наверное, >20GB, но решение — прозрачная компрессия. Сжимать данные таким образом может файловая система или SSD.

Ну тогда тут надо не просто «свободное» место, а место, по которому trim’ом прошлись. А это проще делать, если всё место занято ФС.

Хотя всегда есть шанс, что диск умеет сам себя консолидировать. Но это от модели сильно зависит.

Пруфы есть? В любом случае лучше форматнуть в фс полностью и явно указывать контроллеру пустое место через fstrim. И просто не заполнять файлами до упора.

Я не говорил, что свободное место == место, не занятое ФС. И ТС вроде бы тоже этого не говорил. Откуда вы с аноном это взяли — ума не приложу.

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

Ну тогда тут надо не просто «свободное» место, а место, по которому trim’ом прошлись.

Не обязательно тримом. У SSD есть и специальные команды

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

  • подключить диск к другому контроллеру и послать команду ATA TRIM (или при помощи O&O Defrag — есть cli интерфейс, Windows 8 встроенный оптимизатор дисков или Anvil’s Storage Utilities),
  • сделать полную очистку таблицы FTL, послав команду ATA Secure Erase.

Линукс: система — 20 гиг, хомяк — 30 гиг Все остальное пространство — файлопомойка для обеих ос, в нтфс.

Почему все обязательно выделяют для хомяка отдельный раздел? Какой в этом смысл, особенно когда файлопомойка на отдельном разделе?

Наверно, для любителей делать бэкапы хомяка через dd.

Почему все обязательно выделяют для хомяка отдельный раздел?

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

2. Если прыгать с дистрибутива на дистрибутив, то можно просто не пересоздавать на этом разделе ФС и оставаться со своим хомяком, а не через бэкап. Причём можно даже не «прыгать», а дуалбут.

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

Линукс на ссд не ннада.
Вполне стартует себе и с обычного на 7200, а у меня еще и с 5400.
так что выделяй 100гиг на винду на ссд и пользуйся, с остальными 20гб пусть прошивка разбирается, хоть обляпается.

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

В убунте с 0 байт в /home нельзя зайти через логинскрин, вообще система ведет себя не очень понятно, простые операции на десктопе перестают работать.

Если прыгать с дистрибутива на дистрибутив, то можно просто не пересоздавать на этом разделе ФС и оставаться со своим хомяком

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

Читайте также:  Mac os lion не может быть установлена

В убунте с 0 байт в /home нельзя зайти через логинскрин, вообще система ведет себя не очень понятно, простые операции на десктопе перестают работать.

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

Современные игры и без винды хорошо идут.

Обычные-шмабычные. Кроме шелла на ядреной консоли нельзя надеяться что что то ещё стартанёт. Лучше сделать один раздел, на которм место кончится позже, потому что он тупо больше.

Буду рад объяснению, как обойтись без хомяка.

Не идут они, во всяком случае те что нужны мне не идут на линукс.

Хорошо, но как я и сказал любая база и поставки дистрибутива или докер просто забьет рут и в чем тогда разница?

То есть, если даже я поставлю одну винду на ссд, то придется делить диск?

У меня SSD на 128 Гб и две системы. Разбит на два раздела, 55 Гб на линукс, 55 на винду. На линуксовом разделе 40% свободно, на винде уже не помню сколько, пустого пространства хватает, имхо оставлять неразмеченным неудобно. Жесткий диск на 3 Тб примонтирован в $HOME/data там вся файлопомойка. На винде на SSD только система, игры на HDD. SSD уже 5 лет, брат жив.

неа, сама побьет.

создашь раздел на 100ГБ, а дальше всё автоматом.

Хотя, у меня сейчас дуалбут именно на 240ГБ ссд, обоим системам по 90гб разбил разделы.

у меня SSD’90 — 50 под винду, 35 под линукс и 5 под linux swap,
ну и HDD’1000 c файлами, года три уже так юзаю

Обычные-шмабычные. Кроме шелла на ядреной консоли нельзя надеяться что что то ещё стартанёт. Лучше сделать один раздел, на которм место кончится позже, потому что он тупо больше.

Лучше — делай. Я ж не запрещаю. Мне удобнее отдельный (а ещё на отдельном физическом устройстве).

любая база и поставки дистрибутива

Не распарсил. Какая база?

На десктопе он не нужен. А там, где нужен, обычно вообще пофигу где хомяк.

Ставишь mysql, postgres или еще чего из дистрибутива и все их хранилища будут в /var/blahblah которые забьют рут если не делать для них отдельные разделы.

На десктопе он не нужен.

И это говорит человек который привел кейс с двумя дистрибутивами на декстопе ?:))

Ставишь mysql, postgres или еще чего из дистрибутива и все их хранилища будут в /var/blahblah которые забьют рут если не делать для них отдельные разделы.

Если предполагается держать какие-то большие БД (что тоже на десктопе редкость), то в чём проблема вынести /var/blahblahblah в отдельный раздел?

И это говорит человек который привел кейс с двумя дистрибутивами на декстопе ?:))

Похоже, наш разговор зашёл в тупик. Я не пытаюсь доказать, что выделять хомяк необходимо или лучше. Я лишь ответил, зачем это может понадобиться. Это не значит, что именно так и надо поступать всем. Мне лично удобнее иметь хомяк и рут на разных разделах (и разных физических устройствах) потому что мне так удобнее следить за свободным местом. Даже если бы у меня были какие-то базы в /var, мне было бы проще понять, что виноваты они, а не хомяк, опять же. Плюс из-за того, что если диск с системой помрёт, хомяк останется, и наоборот.

Сам я два дистрибутива на одном десктопе не использую. Но знаю тех, кто использует. Вполне себе кейс.

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

Офтопик, а как тут править сообщения? Очепятки меня опечаливают. s/доке/докер/g

Под сообщением, где «Ответить на это сообщение», «Ссылка», там же. Но: 1. Править можно ограниченное время после отправки. 2. Нельзя править сообщения, на которые есть ответы.

https://www.linux.org.ru/forum/linux-org-ru/9488363 Я все понял, дискриминация по звездам. Странно что в правилах нигде нет ни строчки.

У меня SSD не из самых лучших, и тоже 128G. На нём EFI-раздел, общий для всех (100M), Gentoo (10G), Win10 (40G), FreeBSD (20G), остальное пространство не размечено за ненадобностью. Всё работает идеально.

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

Оказывается эту пустую область и не обязательно оставлять, но если все же хочется оставить, то не обязательно оставлять так много: http://www.outsidethebox.ms/14484/

Можно отдельным разделом на HDD вынести /var. И /tmp в tmpfs, если оперативки прилично.

А это чего так много, там же, по хорошему, кроме конфигов нечего хранить?

на нем должно быть пустого пространства как минимум 35%

Неактуально много лет.

при засраном, а то и вообще разваленом до рид-онли хомяке прекрасно рут залогинится. хотя бы потому, что его хомяк в /root а не /home. этого достаточно.

Просто берёшь и не выделяешь хомяку отдельный раздел.

У меня под Рач выделено 8 Гб, под Винду 20. Рач занимает 4 гига, при этом установлено все необходимое, включая три браузера, вибер, файлзиллу и либреофис. Винда занимает 18 гиг, из них 7 — Скайрим.

Не скажу что особо экономлю место — ССДшка на 256 Гб, просто приучаю себя держать упорядоченное и необходимое.

Ну и разумеется хомяк монтируется с удаленного носителя, а

/.cache симлинкнут на /dev/shm, ибо нефиг.

лучше форматнуть в фс полностью и явно указывать контроллеру пустое место через fstrim

Оцените статью