Telegram Web
Как проверить переключение контекста в Linux

Это продолжение вчерашней статьи. Сегодня мы разберемся с настройкой переключений контекста и затюним и попытаемся понять какие процессы грузят проц. Читать в блоге.
🔥9👍1
40 стратегий оптимизации производительности MySQL

Рассматривайте эту статью как чек-лист, чтобы обратить внимание на то, что могло уйти из виду. Некоторые советы будут очевидны для опытных администраторов баз данных, но ничего же не мешает просто пройтись по списку, верно?
🔥3🤡3👍2
Linux: xargs с несколькими параметрами

xargs — это полезная команда, которую можно использовать для передачи входных данных из stdin в качестве параметров другим командам. Также xargs может выполнять другие трюки, например, запускать команды параллельно и т. д. В этом примере покажу вам, как передать несколько параметров команде.

Создаём файл с параметрами

Создадим файл и сохраним его как params.csv
1 2
3 4
5 6
7 8
9 10


Используем параметр -n

Теперь введем команду ниже. Xargs получает параметр из каждой строки, $0 — первый параметр, а второй — $1
cat params.csv| xargs -n2 bash -c 'echo "$0" + "$1" '
1 + 2
3 + 4
5 + 6
7 + 8
9 + 10


Что делать, если параметры не разделены пробелами? Xargs в Linux (в macOS нет) поддерживает параметр -d, позволяющий определить разделитель между параметрами. Предполагая, что файл параметров такой
1 , 2
3 , 4
5 , 6
7 , 8
9 , 10


Запустим xargs с параметром -d следующим образом:
cat params.csv| xargs -d ',' -n2 bash -c 'echo "$0" + "$1" '
1 + 2
3 + 4
5 + 6
7 + 8
9 + 10


Xargs — одна из самых полезных команд, она может использовать простые команды для многопроцессорных инструментов.
👍27🔥4
2 статьи о диагностике Linux

Погружение в инструменты диагностики Linux. Часть 1 — sysdig

sysdig использует модуль ядра для перехвата системных вызовов и событий, что открывает новые возможности в плане диагностики. Можно расковырять практически все что происходит в системе. Можно использовать realtime‑диагностику или собрать трейс с системы за определенный период, обычно при проблемах достаточно до 5–30 секунд сбора данных.

Погружение в инструменты диагностики Linux. Часть 2 — top

Подробный разбор вывода утилиты top и на что там смотреть.
🔥9👍3
PL/V8: JavaScript в PostgreSQL

PL/V8 — это расширение PostgreSQL, которое позволяет использовать JavaScript через движок V8 (тот самый, который стоит за Node.js). Это открывает массу возможностей:

🚀 Писать хранимые процедуры на JavaScript.

🚀 Выполнять сложную бизнес-логику прямо в базе данных.

🚀 Создавать триггеры, которые обрабатывают данные.

Подробнее в статье на Хабре

Репозиторий расширения на Гитхаб
👍5🤮2💩1👌1🤡1
Серия «Под капотом»: LVM

Подробности о том, как устроена эта технология. Читать на Хабре.
👍4
О механизмах безопасности OpenSSH: разбираем уязвимости 2024 года

В статье детально разобраны уязвимости этого популярного протокола, которые всплыли в 2024 году.
👍7🔥1🤡1
Как перенести Linux Device Drivers на современные ядра

Для ОС на базе ядра Linux относительно простой точкой входа является написание своих модулей. Модули по своей сути — это драйверы устройств (символьные char device, блочные block device, сетевые network device и другие). В статье рассмотрены следующие классы устройств: char device, block device и network device.
👍3💩2🤡1
Ревизор приехал: pg_anon проверяет, всё ли скрыто

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

Именно такой подход реализует pg_anon для данных в PostgreSQL. В статье подробнее об этом инструменте.
👍9
Мысли вслух. Сколько потребляет памяти один запрос PostgreSQL?

В этой статье поднимается проблема как объективно посчитать размер потребляемой оперативной памяти конкретным запросом в PostgreSQL. И предлагается использовать для этого автоматическое нагрузочное тестирование. Читать дальше на Хабре.
👍5👎1
Сливаем отчетность американской Cyber League с помощью базовых утилит Linux

В этой статье автор рассказывает, как создать хакерское приложение, используя встроенный язык программирования Linux, и собрать базу данных участников западной "Национальной Киберлиги". Можно сказать, хакают хакеров! ;) Читать на Хабре.
👍6🤡5🔥1
GRUB и параметры ядра в Linux

GRUB — это первый, кого видит твоя система после BIOS/UEFI. Он решает, какое ядро загружать, какие параметры передавать, и вообще, даст ли он тебе шанс на нормальный рабочий день или отправит в режим паники. Читать дальше.
💩5👍4🤣2
Vim vs. Emacs: древняя битва, наполненная безумными фактами

Vim и Emacs — это, пожалуй, самый древний и легендарный «братский» конфликт в мире текстовых редакторов. Одни говорят: «Люди делятся на тех, кто знает Vim, и тех, кто знаком с болью и страданием». Другие возражают: «Emacs на самом деле полноценная операционная система, где просто не хватает хорошего текстового редактора».

В этой статье собраны любопытные (а местами и безумные) факты о Vim и Emacs.
🔥7👍4
Использование команд Telnet в Linux/Unix

Telnet (telecommunications network) — это сетевой протокол (работающий по TCP-соединению), предназначенный для ручного управления удаленными машинами с помощью команд консольного терминала.

С помощью Telnet команды вводятся на локальной машине, а выполняются на удаленной. То есть пользователь сперва вводит IP-адрес и порт (по умолчанию 23) удаленного сервера, после чего выполняет команды на нем.

Несмотря на то, что в наши дни чаще всего используется SSH, Telnet до сих пор остается популярным инструментом для управления удаленными хостами.

В этой статье рассмотрено базовое использование команд Telnet в операционных системах на базе Linux.
👍4🔥3
Как собрать Linux-контейнер с нуля и без Docker

Это перевод статьи про то, как с нуля создать Linux-контейнер, аналогичный тому, который можно запустить с помощью Docker, но без использования Docker или других инструментов контейнеризации. Читать дальше на Хабре.
👍16
Устраняем эффект шумного соседа в PostgreSQL с помощью cgroups

Приходилось ли вам запускать на одной виртуальной или физической машине несколько экземпляров PostgreSQL или любого другого ПО? Зачастую это вызывает эффект шумного соседа: приложения «отбирают» друг у друга ресурсы и мешают корректной работе. Если коротко, то решение запуск БД в контейнере. Читать дальше.
👍15🔥32
Путь пакета через ядро Linux

В этой статье исследуется сетевой стек TCP/IPv4 и UDP/IPv4 в Linux - наиболее распространенной серверной ОС. Также описывается трассировка наиболее важных сетевых функций ядра Linux 5.10.8. Хотя документация по сетевому коду Linux существует, она часто является устаревшей или охватывает только отдельные аспекты, такие как уровень IP или TCP.
👍13
Что в черном ящике, или Как разработчику понять, что требует оптимизации в БД PostgreSQL

Слово DBA из Т-Банка:

«Мы достигли впечатляющего масштаба — почти 10 000 работающих экземпляров PostgreSQL, с которыми работают более 2 000 команд. Каждый из этих инстансов обслуживает уникальные рабочие нагрузки, разработанные командами с различными подходами к архитектуре, используемыми фреймворками и паттернами проектирования. Несмотря на огромное количество БД, команда администраторов баз данных (DBA) остается относительно небольшой (10 человек). Это создает целый ряд сложных задач, требующих тщательного управления и оптимизации процессов.»

В статье разбираются подходы к визуализации производительности БД. Узнаете на что нужно обращать внимание.
👍7🔥2
Пишем свой загрузчик операционной системы Linux

Современные загрузчики представляют собой сложные программы, способные загружать множество операционных систем различными способами, учитывая массу нюансов, связанных с программным и аппаратным обеспечением. Читая их исходный код, легко утонуть в деталях и потерять понимание сути и реализации. Читать дальше на Хабре.
👍12🔥3🤩1🤡1
Пишем модули для Nginx

Nginx — это не просто веб‑сервер, а платформа, возможности которой можно расширять своими модулями. Если вам не хватает стандартного функционала и хочется больше контроля над обработкой запросов, кастомные модули могут позволить внедрять свою логику, оптимизировать маршрутизацию, фильтровать контент и реализовывать нестандартные механизмы аутентификации. Читать дальше.
👍6🔥3
2025/07/09 19:20:24
Back to Top
HTML Embed Code: