Записки IT специалиста
8.95K subscribers
2.37K photos
40 videos
16 files
2.44K links
IT-канал, просто о сложном
https://interface31.ru

Купить рекламу:
https://telega.in/c/interface31
Download Telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5😁2🤮1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41😁1🤮1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🤮2😁1
Большой SLC-кеш, хорошо ли это?

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

Те редкие модели с памятью MLC которые сегодня можно встретить в продаже относятся к устаревшим моделям с интерфейсом SATA и их скоростные характеристики оставляют желать лучшего.

Сама TLC память достаточно медленная, и чтобы улучшить скоростные характеристики накопителя был придуман SLC-кеш.

Сразу скажем, что никакой отдельной памяти для этого кеша нет, просто в SLC-режим переводится часть ячеек накопителя. А так как SLC – это один бит на ячейку, то емкость ячейки падает в три раза для TLC и в четыре для QLC.

Таким образом максимальный объем SLC кеша для TLC не может превышать 33,3% емкости накопителя, а для QLC – 25%.

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

Один из распространенных алгоритмов кеширования предусматривает выделение под кеш большого объема, примерно в 30% от свободного объема накопителя.

Что это значит? Это значит, что мы перевели в SLC-режим практически всю память, потому что 30% кеша – это 90% объема.

Да, такой кеш будет поддерживать высокую скорость записи, но по его исчерпанию диску просто становится некуда писать. Поэтому ему приходится одновременно уплотнять запись, переводя SLC-ячейки в TLC-режим и принимать новые данные. При этом скорость записи катастрофически падает, местами до 100 МБ/с и ниже.

Другая стратегия предлагает выделение небольшого объема под кеш 5-10% емкости диска. При этом основная часть ячеек диска остается в режиме TLC и по исчерпании кеша вполне способны обеспечить скорость записи в районе весьма комфортных 400 – 500 МБ/с.

Что из этого лучше? Однозначного мнения тут нет и быть не может. Все зависит от сценариев работы. В первом случае вы сможете принять на полной скорости примерно треть свободного объема диска, но потом получите скорость улитки, попавшей в студень.

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

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

При этом помните, что это сугубо программная настройка. И на рынке присутствует множество моделей абсолютно одинаковых аппаратно, но имеющие разные алгоритмы кеширования и, соответственно, разные скоростные характеристики.
👍82
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤮12😁2
Завершающий слеш в путях Linux

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

В Linux символом разделения каталогов является слеш, если после имени файла стоит этот символ, то подразумевается, что данный файл является каталогом. А в Linux, как мы помним, всё есть файл.

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

~/video


Может быть как файлом, так и каталогом. Если же мы напишем так, то перед нами предположительно каталог:

~/video/


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

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

Например, в нашем скрипте написано в цикле что-то вроде:

mv -f "$file" /new_path/video


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

Если же мы напишем:

mv -f "$file" /new_path/video/


То при отсутствии директории получим ошибку:

mv: невозможно создать обычный файл ' video/': Это не каталог


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

mv: не удалось получить доступ к ' video /': Это не каталог


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

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

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

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

Поэтому в скриптах такие вещи всегда лучше проверять явно, например:

if ! [ -d /new_path/video/ ]; then
mkdir -p /new_path/video
fi


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

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

А после того, как мы выполнили подобную проверку и предприняли явные действия, то там уже становится все равно, есть закрывающий слеш в команде перемещения или нет.
👍8👌51🔥1
Проверь себя: сколько из этих пунктов про тебя?

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

Если совпало хотя бы несколько пунктов - тебе пригодится Киберкролик 🐇

Это Telegram-канал для обычных пользователей о цифровой безопасности, мошенничестве, ИИ и полезных интернет-инструментах.

Без сложного технарского языка и бесконечного потока IT-новостей.

Уже внутри:

🔐 12 пунктов базовой цифровой защиты - можно пройти как чек-лист

🔗 инструкция, как проверить подозрительную ссылку, прежде чем её открывать

🤖 7 типов данных, которые лучше не отправлять нейросетям

🧠 готовые промпты для ИИ, которые можно просто скопировать

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

Главный принцип канала простой:

прочитал → применил → стал немного безопаснее или сэкономил себе время.

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

👉 Подписаться на «Киберкролик»

Кролик знает короткий путь. 🐇

Реклама. Сотиболдиев Д.А. ИНН 503418233271.
🤡3👀2🤮1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12👎1