Цейво!Всі публікаціїКатегоріїПро проєктДопомогти Україні 🇺🇦

Що таке jemalloc і як він стосується Ruby / Ruby on Rails

Обкладинка допису: Що таке jemalloc і як він стосується Ruby / Ruby on Rails
ЗмістНатисність на посилання, щоб перейти до потрібного місця
Що таке jemalloc?. jemalloc (скорочено від Jason Evans malloc) — це високопродуктивний аллокатор пам’яті, який замінює стандартний malloc, реалізований у стандартній бібліотеці glibc. Його використовують такі великі проєкти як Redis, Firefox, Facebook та навіть Android.
Його основні переваги:
  • Менше фрагментації пам’яті
  • Краща мультипотокова продуктивність
  • Прозоре логування використання пам’яті (через jemalloc профілювання)

Чому jemalloc важливий для Ruby / Rails?

Ruby використовує malloc для керування пам’яттю, особливо при роботі з об’єктами. В умовах великого навантаження (наприклад, багатопотоковий Puma або Sidekiq) стандартний аллокатор може викликати фрагментацію пам’яті та повільне очищення.
Замінивши malloc на jemalloc, ви можете отримати:
  • Менше споживання пам’яті на довготривалих процесах
  • Стабільніший RSS (Resident Set Size)
  • Потенційно швидший GC (Garbage Collector), бо jemalloc краще керує розміщенням об'єктів

Коли має сенс ввімкнути jemalloc (якщо досі не зробили цього)?

Якщо ви бачите, що ваші Ruby / Rails процеси "роздуваються" у пам’яті після декількох годин чи днів роботи — jemalloc може значно допомогти.
Особливо це помітно на:
  • Sidekiq / Resque
  • Puma / Unicorn під навантаженням
  • Сервісах з довготривалими процесами

Цей допис поки що не має жодних доповнень від автора/ки.

Де знайти старішу версію Google Chrome та скачати її? На прикладі старого Mac
25 квіт., 23:02

Де знайти старішу версію Google Chrome та скачати її? На прикладі старого Mac

meme code
meme code@memecode
09 трав., 19:27

[FIXED] cannot load such file -- html/pipeline (LoadError) виникає під час rails generate thredded:install

meme code
meme code@memecode
Задача: Перетворення римського числа на десяткове (Ruby)
20 трав., 12:05

Задача: Перетворення римського числа на десяткове (Ruby)

meme code
meme code@memecode
Задача на перевірку правильності розстановки дужок (Ruby)
21 трав., 10:27

Задача на перевірку правильності розстановки дужок (Ruby)

meme code
meme code@memecode
Як знайти підмасив з максимальною сумою (Maximum Subarray Sum) в Ruby
22 трав., 11:01

Як знайти підмасив з максимальною сумою (Maximum Subarray Sum) в Ruby

meme code
meme code@memecode
Реклама в Google для чайників: Покроковий гід для успішного старту
28 трав., 10:21

Реклама в Google для чайників: Покроковий гід для успішного старту

meme code
meme code@memecode
05 черв., 01:52

[Fixed] uninitialized constant ActiveSupport::LoggerThreadSafeLevel::Logger (NameError)

meme code
meme code@memecode
Прев'ю у network вкладці після оновлення Chrome стало дуже мале
05 черв., 18:23

Прев'ю у network вкладці після оновлення Chrome стало дуже мале

meme code
meme code@memecode
Що таке формат HEIC і чому просто перейменовувати його в .jpg — погана ідея
15 черв., 18:17

Що таке формат HEIC і чому просто перейменовувати його в .jpg — погана ідея

meme code
meme code@memecode
Чому вибір CMS важливий під час розробки сайту?
29 черв., 12:34

Чому вибір CMS важливий під час розробки сайту?

meme code
meme code@memecode
Помилка 403 на сайті: що це означає і як її усунути
24 лип., 23:50

Помилка 403 на сайті: що це означає і як її усунути

meme code
meme code@memecode
Що таке вайб-кодинг?
25 лип., 21:51

Що таке вайб-кодинг?

meme code
meme code@memecode