Как стать автором
Обновить
2
0.6

Пользователь

Отправить сообщение

Omnia Metria in SAR Collecta — Мониторинг Linux с SAR: обширное описание метрик и как их читать

Время на прочтение34 мин
Количество просмотров1.4K

Состояние сервера можно условно сравнить со здоровьем человека: оно у всех разное и умирают все от разных причин. Пульс, давление, температура — это показатели, которые помогают в диагностике нас. В мире Linux эти показатели: CPU, использование памяти, работа дисков и прочее. Как и в медицине, мониторинг можно проводить в реальном времени или анализировать уже собранные данные.

Если у человека проблема с сердцем 🩺, врач может сделать ЭКГ прямо сейчас, но если нужны показатели за длительный период, нужен суточный мониторинг ЭКГ по Холтеру, который может показать, например, проблемы ночью. В Linux этим занимается набор инструментов sysstat, в состав которого входит, в том числе, утилита sar, которая помогает визуализировать данные в логах /var/log/sysstat/.

Разделы:

Часть I. Установка и настройка sysstat.

Часть II. Пример использования sar для чтения из логов двух нод Kubernetes — умозрительный пример.

Часть III. Команда sar и диагностика проблем: описание метрик и что они означают, наглядные таблицы. Описание проблем.

Читать далее

Нестандартная обобщённая хеш-таблица на чистом Си

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров2.5K

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

Читать далее

Нужен ли Postgres альтернативный сборщик статистики таблиц?

Уровень сложностиСложный
Время на прочтение7 мин
Количество просмотров1.8K

Речь здесь пойдёт о стабильности стандартной статистики Postgres и об идее очередного расширения - на этот раз альтернативы команде ANALYZE. Всё началось с того, что заканчивая работу над предыдущей статьёй я вдруг заметил, что результат выполнения одного и того же запроса теста Join Order Benchmark (JOB) в серии последовательных прогонов может отличаться в разы и даже на порядки - причем как по значению параметра execution-time, так и по pages-read. Это выглядело очень странно, поскольку и тест и ноутбук и все настройки оставались теми же - даже погода за окном. И я решил расследовать, что происходит …

Читать далее

Что нового в Postgres Pro Enterprise 17: от Proxima до интеллектуального управления данными

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров2.1K

Вышел Postgres Pro Enterprise 17, и этот релиз принесёт улучшения в области производительности и масштабирования. Одно из ключевых нововведений — расширение Proxima, объединяющее функции пулера, прокси и балансировщика нагрузки, интегрированное непосредственно в ядро СУБД. Кроме того, разработчиков ждут новые возможности управления очередями сообщений, инструменты оптимизации запросов, средства обеспечения безопасности и функции интеллектуального хранения данных.

Узнать о нововведениях

Разглядывая JTAG: *.bsdl своими руками

Время на прочтение15 мин
Количество просмотров9.1K

В предыдущей статье мы немного поработали с конечным автоматом модуля JTAG в контексте чтения идентификационного номера. Совершённые нами манипуляции были бы одинаковы практически для любой микросхемы с JTAG-ом. Однако при попытке установить/считать через JTAG уровень напряжения на произвольном выводе микросхемы мы столкнёмся с объективной проблемой: количество выводов, их назначение и расположение у разных микросхем принципиально отличаются. Для того, чтобы у ПО, управляющего JTAG-ом была информация об этих отличиях, ему необходим файл описания модуля JTAG для конкретной микросхемы. Об этих файлах и пойдёт речь в данной статье.

Написать *.bsdl в блокноте

Как установить и использовать ИИ модель DeepSeek R-1 на вашем компьютере

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров187K

Многие говорят о DeepSeek R-1 - новой языковой ИИ-модели с открытым исходным кодом, созданной китайской ИИ-компанией DeepSeek. Некоторые пользователи утверждают, что по возможностям рассуждения она не уступает или даже превосходит модель o1 от OpenAI.

В настоящее время DeepSeek можно использовать бесплатно, что является отличной новостью для пользователей, но вызывает некоторые вопросы. Как при таком резком росте числа пользователей они справляются с затратами на сервера?

Ведь эксплуатационные расходы на оборудование не могут быть дешевыми, верно?

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

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

Читать далее

Как перенести Linux Device Drivers на современные ядра

Время на прочтение13 мин
Количество просмотров6.4K

Наверное, каждый разработчик рано или поздно задумывается о том, что же происходит в операционной системе на уровне ядра. Для ОС на базе ядра Linux относительно простой точкой входа является написание своих модулей. Модули по своей сути — это драйверы устройств (символьные char device, блочные block device, сетевые network device и другие).

В книге Linux Device Drivers (LDD) подробно описано, как создать свой модуль ядра для интересующего класса устройств. Однако эта книга очень устарела, поскольку в ней рассматриваются случаи, справедливые для ядра версии 2.X.X. А в 2025 году третьему изданию Linux Device Drivers исполняется 20 лет!

На сегодняшний день большинство устройств используют ядра 5.X.X или 6.X.X, в которых многое изменилось. Так и появилась идея этой статьи — адаптировать информацию из LDD под современные ядра.

Под катом рассмотрим следующие классы устройств: char device, block device и network device.

Читать далее

Чип, подёргай ножкой ¯\_(ツ)_/¯

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров7.5K

Как быстро выяснить схему соединений, когда на плате 70 микросхем в BGA?
Как протестировать плату, начиная с проверки соединений и заканчивая функциональными испытаниями?

Что можно вытворять с помощью JTAG сканирования? Где применять?
Возьмите в свой арсенал этот действительно полезный и могучий инструмент!
Читать дальше →

Оптимизация запросов SQL Server V/S PostgreSQL: есть куда расти?

Уровень сложностиСложный
Время на прочтение15 мин
Количество просмотров8.2K

Выбор SQL-запроса в реляционной СУБД в основном определяется пространством поиска возможных планов и техниками поиска плана в этом пространстве. У каждой СУБД оба этих фактора имеют свои особенности, что объясняет, почему иногда при миграции с одной СУБД на другую можно наблюдать как ускорения, так и провалы во времени выполнения отдельных запросов.

Здесь я привожу четыре случая, когда SQL Server позволяет строить планы запросов значительно более оптимальные, нежели это доступно PostgreSQL используя как более широкое пространство возможных планов, так и более совершенные методы оценок эффективности планов. Эти примеры: использование тредов, расширенная статистика, кэширование промежуточных результатов запроса и внутренняя параметризация. Примеры независимы и все кроме первого содержат скрипт воспроизведения - можно сразу листать на ту часть, которая выглядит интереснее.

Полагаю, знание о таких кейсах может быть полезным. Как минимум уменьшит количество стресса при миграции на PostgreSQL и возможно заинтересует кого-то настолько, чтобы начать свой проект в open-source сообществе разработчиков СУБД.

Читать далее

Дедупликация в OpenZFS теперь хороша, но использовать её не стоит

Уровень сложностиСредний
Время на прочтение28 мин
Количество просмотров6.2K

Вот-вот выйдет релиз OpenZFS 2.3.0 с новой функцией Fast Dedup. Это огромный шаг вперёд по сравнению со старой дедупликацией и отличный фундамент для будущих доработок.

Контрибьютор OpenZFS @gmelikov и команда VK Cloud совместно перевели статью об этом релизе, в которой новая функция сравнивается со старой дедупликацией и описывается максимально подробно с практическими примерами. В 2023–2024 коллеги из Klara много работали над этой функцией, и мы согласны с ними, что она весьма хороша! 

После релиза Fast dedup на многих ресурсах в обсуждениях продолжили писать, что «новый дедуп всё так же плох, он требует столько же ОЗУ и также убивает производительность». Но эта информация лишь отчасти близка к правде и повторяет всё тот же мотив, который когда-то кто-то озвучивал на форумах.

Винить в этом никого не хочется. И не стоит, так как дедупликация в OpenZFS и правда была очень требовательной к правильному применению. Найти качественные гайды тоже не просто, ответ по умолчанию — «не используйте её» — был и (в целом) остаётся правильным. Но, по прошествии почти 20 лет жизни дедупа в OpenZFS, настало время вернуться к этому вопросу.

Посмотрим на свежую информацию об имплементации дедупа в OpenZFS, как он работал до улучшений, в чём была его проблема, что поменяли в fast dedup, и почему же это всё ещё не дефолт.

Читать далее

Математическая продлёнка. Изобретаем параболические числа

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров3.9K

Курс начальной школы приучает нас к тому, что числа пригодны для счёта. В средней школе, когда к математике подключаются физика и химия, мы узнаём, что числами можно моделировать всевозможные явления от наполнения бассейнов и движения велосипедистов, до количества тепла, которое выделится, если дать соединиться двум молям водорода и одному молю кислорода. А в старших классах на смену числам приходят функции, векторы и другие замечательные математические объекты, которыми можно моделировать ещё более сложные процессы и явления. Однако, если заглянуть в «большую» математику, обитающую в университетах, а также в статьях и книгах, посвящённых специальным разделам математики, то можно обнаружить что числа, вернее числовые системы: кольца, поля, их расширения и модули над ними, сами по себе оказываются способны на многое. Ими можно моделировать целые пространства, геометрические объекты и их преобразования (комплексные числа, кватернионы, алгебры Клиффорда), регулярные структуры, обладающие пространственной симметрией (числа Гаусса, Эйзенштейна) или преобразования специальной теории относительности (дуальные числа, алгебра пространства-времени).

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

Читать далее

Рекурсивные типы. Часть 5/5. Занимательный матан

Уровень сложностиСложный
Время на прочтение18 мин
Количество просмотров1.7K

Содержание пятой части:

Натуральные числа
Разложение в ряд
Производные от типов
Производные от экспоненциалов
Производные от рекурсивных типов

Читать далее

Информация

В рейтинге
5 619-й
Зарегистрирован
Активность