Forwarded from Performance matters!
CPU Isolation: исследование в шести частях о применение техник CPU Isolation для задержкочувствительных нагрузок.
Недостаточно просто выгнать все процессы, кроме целевого, с ядра с помощью cpuset и привязать его к CPU через taskset. Надо не забыть и о фоновых задачах ядра, т.н. housekeeping work.
Оборотной стороной housekeeping work является то, что она привносит непредсказуемые задержки (jitter), прерывая выполнение пользовательских задач.
Борьба с этими задержками и есть центральная тема цикла.
Недостаточно просто выгнать все процессы, кроме целевого, с ядра с помощью cpuset и привязать его к CPU через taskset. Надо не забыть и о фоновых задачах ядра, т.н. housekeeping work.
Housekeeping work – это совокупность фоновых операций, которые ядро Linux выполняет для поддержания своей внутренней инфраструктуры. Эти задачи включают обработку таймеров, обновление системного времени, управление очередями отложенной работы (workqueues), обработку прерываний, очистку ресурсов и прочее. Несмотря на то, что они обычно незаметны для пользователя, именно эти операции обеспечивают стабильность и корректное функционирование всей системы.
Оборотной стороной housekeeping work является то, что она привносит непредсказуемые задержки (jitter), прерывая выполнение пользовательских задач.
Борьба с этими задержками и есть центральная тема цикла.
Suse
CPU Isolation – Introduction – by SUSE Labs (p...
This blog post is the first in a technical series by SUSE Labs team exploring Kernel CPU Isolation along with one of its c...
❤1
Writing a custom device for QEMU - Sebastien Bourdelin
https://sebastienbourdelin.com/2021/06/16/writing-a-custom-device-for-qemu/
#qemu
https://sebastienbourdelin.com/2021/06/16/writing-a-custom-device-for-qemu/
#qemu
Sebastien Bourdelin
Writing a custom device for QEMU - Sebastien Bourdelin
In this article, i want to stay straightforward and just give an example on how to use QEMU to add ... Lire plus
Scaling virtio-blk disk I/O with IOThread Virtqueue Mapping | Red Hat Developer
https://developers.redhat.com/articles/2024/09/05/scaling-virtio-blk-disk-io-iothread-virtqueue-mapping#
#virtio
https://developers.redhat.com/articles/2024/09/05/scaling-virtio-blk-disk-io-iothread-virtqueue-mapping#
#virtio
Red Hat Developer
Scaling virtio-blk disk I/O with IOThread Virtqueue Mapping | Red Hat Developer
This article covers the IOThread Virtqueue Mapping feature for Kernel-based virtual machine (KVM) guests that was introduced in Red Hat Enterprise Linux (RHEL) 9.4
Forwarded from Технологический Болт Генона
Don’t become a forever junior who lets AI do all their work. If you want to become a programmer, learn to program yourself. Be curious, put in the time and effort to learn how things really work, and how things work in the layer below that. It really pays off. Learning how everything works under the hood and using that is amazing, just keep learning, don’t be a prompt engineer (if you can even call that engineering). Believe me, it’s more fun to be competent9.
Even though AI might be smarter than you, never blindly trust the AI output. Don’t build your whole workflow around it. Sometimes try to work without it for a few days. The better at programming you are, the more AI will get in your way for the more complex work.
If you learn to code now, keep building your skills instead of letting AI do all the heavy lifting, you’ll be capable of fixing the messes that vibe coding is now creating. I don’t want to sound elitist, but if you don’t want to learn to go beyond vibe coding, maybe coding isn’t for you. Because positions where all work can be done by vibe coding are the ones that will be eliminated first when AI becomes more powerful.
And remember: if you cannot code without AI, you cannot code.
Why I stopped using AI code editors
https://lucianonooijen.com/blog/why-i-stopped-using-ai-code-editors/
Forwarded from linkmeup
В эфире ваша любимая рубрика "С умным видом учим молодых фичам линукса и делаем вид, что всё это и так уже знаем".
Сегодня изучаем/вспоминаем про hidepid. Фичу, позволяющую прятать процессы от других пользователей.
Зачем? Ну, например, чтобы не палить всякие аргументы запуска. А то любят некоторые ключи API указывать, пароли и так далее.
https://www.cyberciti.biz/faq/linux-hide-processes-from-other-users/
Сегодня изучаем/вспоминаем про hidepid. Фичу, позволяющую прятать процессы от других пользователей.
Зачем? Ну, например, чтобы не палить всякие аргументы запуска. А то любят некоторые ключи API указывать, пароли и так далее.
https://www.cyberciti.biz/faq/linux-hide-processes-from-other-users/
nixCraft
Linux hide processes from other users and ps command with hidepid option
Explains how to hide process & prevent users from seeing processes that do not belong to them on a Linux when using ps/top & other commands
Forwarded from linkmeup
Выступавший у нас как-то Дмитрий Путилин поделился, что пишет манускрипт не для слабых духом о том как собрать kubernetes не используя автоматику, но чтобы продакшн реди и прям как у взрослых.
Так что если скучаете по километрам конфигов и чтоб всё ручками, то вам сюда:
https://docs.b-cloud.online/blog/kubernetes-the-hard-way/
Так что если скучаете по километрам конфигов и чтоб всё ручками, то вам сюда:
https://docs.b-cloud.online/blog/kubernetes-the-hard-way/
Forwarded from IT Friday (Sabbath)
DevOps Topologies - отличная статья про паттерны и антипаттерны ДевОпс команд от создателей Team Topologies. Причем в жизни оно не обязательно так, конкретной вашей модели может тут и не быть, но признаки указанные в статье могут присутвовать, как хорошие, так и плохие. Интересно сматчить свою команду с тем, что в статье 😏
Мне, например, не хватило модели DevOps как внутренний сервис - гибридная Enabling / Platform Team, которая делала платформенные инструменты и разносила бы добрые практики, не замыкая на себе и не изолируя себя от команд разработки и эксплуатации
https://devopstopologies.ru/
Мне, например, не хватило модели DevOps как внутренний сервис - гибридная Enabling / Platform Team, которая делала платформенные инструменты и разносила бы добрые практики, не замыкая на себе и не изолируя себя от команд разработки и эксплуатации
https://devopstopologies.ru/
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Forwarded from commit -m "better"
#gold
> Одмен, а в чем прикол делать дистр с фулл статик линковкой? У тебя пост на канальчике про это есть какой-нить?
У меня про это много чего написано, достаточно погрепать канал по "статическая".
В целом, аргументация такая:
* динлинковка - это вынужденная мера, появившаяся, когда у компухтеров было мало памяти
* динамическая линковка - сложнее, тулинг хуже (санитайзеры требуют, чтобы почти весь код (кроме того, что перехватывается), был собран статически, отладчик работает хуже, код ходит через GOT/plt, а не напрямую).
* динамическая линковка - сложнее, например, во взаимодействии с другими системами (fork(), threads, tls, etc)
* динамический загрузчик - сложный, а еще он suid, есть известные проблемы с безопасностью
* плагины лежат хз где, и часто их не хватает, потому что приложения не могут сказать, чтобы в gstreamer был такой-то #plugins
* в целом, загружать в runtime сторонний код в свое приложение (не в песочнице) - очень странная идея, потому что CI с ним, у вас, скорее всего, не было, и как он будет ездить по вашим данным - неизвестно. Для плагинов сейчас норм решение - #WebAssembly в песочнице, или там https://github.com/libriscv/libriscv
* code bloat, больше поверхность для rop
* #ABI - это бич C/C++
* #perf - 5 - 10% CPU на дороге не валяются
* динамически слинкованные бинари дольше запускаются
В общем, я не за статлинковку, я против динамической.
Статлинковка простая, как 5 копеек, и современные окружения (go, rust) это понимают.
> Одмен, а в чем прикол делать дистр с фулл статик линковкой? У тебя пост на канальчике про это есть какой-нить?
У меня про это много чего написано, достаточно погрепать канал по "статическая".
В целом, аргументация такая:
* динлинковка - это вынужденная мера, появившаяся, когда у компухтеров было мало памяти
* динамическая линковка - сложнее, тулинг хуже (санитайзеры требуют, чтобы почти весь код (кроме того, что перехватывается), был собран статически, отладчик работает хуже, код ходит через GOT/plt, а не напрямую).
* динамическая линковка - сложнее, например, во взаимодействии с другими системами (fork(), threads, tls, etc)
* динамический загрузчик - сложный, а еще он suid, есть известные проблемы с безопасностью
* плагины лежат хз где, и часто их не хватает, потому что приложения не могут сказать, чтобы в gstreamer был такой-то #plugins
* в целом, загружать в runtime сторонний код в свое приложение (не в песочнице) - очень странная идея, потому что CI с ним, у вас, скорее всего, не было, и как он будет ездить по вашим данным - неизвестно. Для плагинов сейчас норм решение - #WebAssembly в песочнице, или там https://github.com/libriscv/libriscv
* code bloat, больше поверхность для rop
* #ABI - это бич C/C++
* #perf - 5 - 10% CPU на дороге не валяются
* динамически слинкованные бинари дольше запускаются
В общем, я не за статлинковку, я против динамической.
Статлинковка простая, как 5 копеек, и современные окружения (go, rust) это понимают.
GitHub
GitHub - libriscv/libriscv: The fastest RISC-V sandbox
The fastest RISC-V sandbox. Contribute to libriscv/libriscv development by creating an account on GitHub.
Forwarded from Опенград
Честно говоря, давно я такую духоту во время написания не испытывал. В какой-то момент даже пожалел, что зашел на территорию безопасников и всего, что с этим связано. Хотя тут ничего такого из ряда вон и не было представлено. В общем в этот раз поговорим про подписание образов: немного теории для начала, а потом обзор на два, как мне кажется, самых популярных или распространенных инструмента для подписи образов (DCT не в счет). Без каких-либо интеграций, потому что сама статья и так вышла больше, чем я планировал, но вот как-то так.
Telegraph
Основные инструменты для подписания образов контейнеров
Введение: В этой статье мы рассмотрим основные инструменты, которые чаще всего используются для подписания образов во время сборки в Docker или Kubernetes. Если говорить более предметно, то речь пойдет о Cosign и Notary. Все примеры будут представлены в рамках…
Forwarded from Записки админа
📎 А вы знали, что в файле authorized_keys можно не только хранить ключи, но ещё и указать команду, которая будет выполнена при подключении, и даже описать условия, при которых команда будет выполняться?
Небольшая заметка по этому поводу - Using ~/.ssh/authorized keys to decide what the incoming connection can do...
https://dan.langille.org/2025/04/17/using-ssh-authorized-keys-to-decide-what-the-incoming-connection-can-do/
#ssh #будничное
Небольшая заметка по этому поводу - Using ~/.ssh/authorized keys to decide what the incoming connection can do...
https://dan.langille.org/2025/04/17/using-ssh-authorized-keys-to-decide-what-the-incoming-connection-can-do/
#ssh #будничное
🤔2
Forwarded from Sijeko Tech
Консольное Линукс-открытие недели —
Удобно, когда у вас несколько процессов в разные логи пишет, и надо сразу все файлы видеть в реальном времени.
Например, в данном случае, мои четыре файла откроются в две колонки и два ряда.
https://vanheusden.com/multitail/
https://github.com/folkertvanheusden/multitail
Раньше эмулировал это просто разбивая вкладку терминала на сколько мне надо кусочков и запуская по одиночному
В Дебиане/Убунте устанавливается как обычно:
multitail
!Удобно, когда у вас несколько процессов в разные логи пишет, и надо сразу все файлы видеть в реальном времени.
Например, в данном случае, мои четыре файла откроются в две колонки и два ряда.
multitail -s 2 storage/logs/queue-default-{1,2,3,4}.log
https://vanheusden.com/multitail/
https://github.com/folkertvanheusden/multitail
Раньше эмулировал это просто разбивая вкладку терминала на сколько мне надо кусочков и запуская по одиночному
tail
в каждом из сплитов, но одной командой удобнее.В Дебиане/Убунте устанавливается как обычно:
sudo apt install multitail
GitHub
GitHub - folkertvanheusden/multitail: Tail on steroids
Tail on steroids. Contribute to folkertvanheusden/multitail development by creating an account on GitHub.
Forwarded from opennet.ru
Использование zip-бомбы для борьбы с вредоносными web-ботами https://opennet.ru/63163/
www.opennet.ru
Использование zip-бомбы для борьбы с вредоносными web-ботами
Последнее время значительно возросла активность web-ботов, индексирующих сайты. Помимо корректно работающих ботов распространение получили "неистовые" боты, игнорирующие правила индексирования robots.txt, лезущие с десятков тысяч разных IP, притворяющиеся…
👍2
Forwarded from Код и Капуста
croc
Инструмент для простой и безопасной передачи файлов и папок между любыми двумя компьютерами. Насколько мне известно, это единственная консольная утилита для передачи файлов, которая поддерживает все перечисленные возможности: позволяет передавать данные между любыми устройствами через релей, обеспечивает сквозное шифрование с помощью PAKE, работает на всех основных платформах (Windows, Linux, Mac), поддерживает передачу нескольких файлов одновременно, возобновление прерванных загрузок, не требует настройки локального сервера или проброса портов, использует IPv6 с автоматическим переходом на IPv4 при необходимости, а также может работать через прокси, например Tor.
#golang #utils
https://kodikapusta.ru/news/15l5-croc
Инструмент для простой и безопасной передачи файлов и папок между любыми двумя компьютерами. Насколько мне известно, это единственная консольная утилита для передачи файлов, которая поддерживает все перечисленные возможности: позволяет передавать данные между любыми устройствами через релей, обеспечивает сквозное шифрование с помощью PAKE, работает на всех основных платформах (Windows, Linux, Mac), поддерживает передачу нескольких файлов одновременно, возобновление прерванных загрузок, не требует настройки локального сервера или проброса портов, использует IPv6 с автоматическим переходом на IPv4 при необходимости, а также может работать через прокси, например Tor.
#golang #utils
https://kodikapusta.ru/news/15l5-croc
Forwarded from Код и Капуста
bore
Это минималистичный инструмент на Rust, который пробрасывает локальные порты на удаленный сервер, обходя NAT и фаерволлы. Ничего лишнего — только быстрый и надежный туннель без лишней магии.
#rust
https://kodikapusta.ru/news/vjd8-bore
Это минималистичный инструмент на Rust, который пробрасывает локальные порты на удаленный сервер, обходя NAT и фаерволлы. Ничего лишнего — только быстрый и надежный туннель без лишней магии.
#rust
https://kodikapusta.ru/news/vjd8-bore
Forwarded from Bash Days | Linux | DevOps (Роман Шубин)
Придёт серенький OOM и выебет тебя нахуй!
ㅤ
Сегодня поиграем в операционную систему. Ну как проиграем, ты сам примеришь шкуру операционной системы и попытаешься выжить.
Движуха называется «You are the OS».
Суть — ты отправляешь процессы на исполнение в доступные процессоры. Если не хватило памяти, отправляешь процессы на диск. Если что-то сделал не так — тебя выебали ивысушили перезагрузили!
Всё просто! Летс го 👇
https://plbrault.github.io/youre-the-os/
🛠 #games
—
✅ @bashdays / @linuxfactory / @blog
ㅤ
Сегодня поиграем в операционную систему. Ну как проиграем, ты сам примеришь шкуру операционной системы и попытаешься выжить.
Движуха называется «You are the OS».
Суть — ты отправляешь процессы на исполнение в доступные процессоры. Если не хватило памяти, отправляешь процессы на диск. Если что-то сделал не так — тебя выебали и
Поначалу нихуя не понятно, но спустя пару минут въезжаешь что нужно делать, этакий сапёр. Мой рекорд аптайма 50 секунд, не быть мне операционной системой.
Всё просто! Летс го 👇
https://plbrault.github.io/youre-the-os/
—
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Forwarded from Ever Secure (Aleksey Fedulaev)
Друзья, это свершилось! 😱✨
Честно? Мы сами до конца не верили, что этот день настанет... но она — в печати!
Да-да, наша книга теперь существует в реальном, бумажном формате 📖🔥
Уже завтра мы забираем первую партию, и поверьте, она выглядит круче, чем мы ожидали!
А совсем скоро вы тоже сможете её заказать — предзаказ уже на подходе 👀
Следите за новостями, будет кое-что интересное… Может быть, даже небольшой сюрприз для первых заказов?🤔
👀 @ever_secure
Честно? Мы сами до конца не верили, что этот день настанет... но она — в печати!
Да-да, наша книга теперь существует в реальном, бумажном формате 📖🔥
Уже завтра мы забираем первую партию, и поверьте, она выглядит круче, чем мы ожидали!
А совсем скоро вы тоже сможете её заказать — предзаказ уже на подходе 👀
Следите за новостями, будет кое-что интересное… Может быть, даже небольшой сюрприз для первых заказов?🤔
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2