The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

В ядро Linux 5.12 принята подсистема KFence для выявления ошибок при работе с памятью, opennews (?), 28-Фев-21, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


38. "В ядро Linux 5.12 принята подсистема KFence для выявления ош..."  +2 +/
Сообщение от timur.davletshin (ok), 28-Фев-21, 13:52 
Отключи Huge pages и будет кушать НАМНОГО меньше. Другой вопрос, что ты будешь потом жаловаться на фрагментацию оперативной памяти.
Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

97. "В ядро Linux 5.12 принята подсистема KFence для выявления ош..."  –2 +/
Сообщение от Онаним (?), 28-Фев-21, 23:04 
Смотря какие huge pages. Если transparent - то ведро нормально справляется с переаллокацией. Если принудительные аллокации в софте - там да, хип на полтора байта 2 метра весит.
Ответить | Правка | Наверх | Cообщить модератору

99. "В ядро Linux 5.12 принята подсистема KFence для выявления ош..."  +/
Сообщение от timur.davletshin (ok), 28-Фев-21, 23:08 
> Смотря какие huge pages. Если transparent - то ведро нормально справляется с
> переаллокацией. Если принудительные аллокации в софте - там да, хип на
> полтора байта 2 метра весит.

Ну переключи madvise параметр у ядра и проверь, сколько будет жрать ОЗУ после перезагрузки. Потом сравнишь с умолчальным. Разница будет в несколько сот мегабайт.

Ответить | Правка | Наверх | Cообщить модератору

100. "В ядро Linux 5.12 принята подсистема KFence для выявления ош..."  +2 +/
Сообщение от Онаним (?), 28-Фев-21, 23:21 
> Ну переключи madvise параметр у ядра и проверь, сколько будет жрать ОЗУ
> после перезагрузки. Потом сравнишь с умолчальным. Разница будет в несколько сот
> мегабайт.

Взял одну из тестовых систем с MariaDB и обвесом. Поигрался.

transparent_hugepage=never

MiB Mem :  19977.5 total,  14021.8 free,   3160.5 used,   2795.3 buff/cache
MiB Swap:      0.0 total,      0.0 free,      0.0 used.  16383.6 avail Mem

transparent_hugepage=madvise

MiB Mem :  19977.6 total,  14056.1 free,   3145.9 used,   2775.5 buff/cache
MiB Swap:      0.0 total,      0.0 free,      0.0 used.  16280.9 avail Mem

transparent_hugepage=always

MiB Mem :  19977.6 total,  13979.7 free,   3223.9 used,   2774.0 buff/cache
MiB Swap:      0.0 total,      0.0 free,      0.0 used.  16210.3 avail Mem

(последний бут из meminfo - большие страницы есть в принципе)
DirectMap4k:      220592 kB
DirectMap2M:     9207808 kB
DirectMap1G:    12582912 kB

(количество распределённых по нулям, не нужны они софту :D)

Ответить | Правка | Наверх | Cообщить модератору

104. "В ядро Linux 5.12 принята подсистема KFence для выявления ош..."  +/
Сообщение от Онаним (?), 28-Фев-21, 23:28 
Хотя не, про распределённые вру, total был более 0.
Ответить | Правка | Наверх | Cообщить модератору

106. "В ядро Linux 5.12 принята подсистема KFence для выявления ош..."  +/
Сообщение от timur.davletshin (ok), 28-Фев-21, 23:31 
Раз уж за жадный до РАМы Линукс пошла пьянка, то ещё аллокатор памяти можно на какой-нибудь jemalloc поменять через LD_PRELOAD. Со старыми версиями glibc (до 2.26 вроде) особенно было актуально. Сейчас тоже смысл есть зачастую, но надо тестировать с самым "любимым" приложением. Ситуация перестала быть очень однозначной. Плюс, ряд приложений внутренне уже используют свой аллокатор памяти (FF тот же jemalloc древней версии какой-то использует).
Ответить | Правка | К родителю #100 | Наверх | Cообщить модератору

108. "В ядро Linux 5.12 принята подсистема KFence для выявления ош..."  +1 +/
Сообщение от Онаним (?), 28-Фев-21, 23:35 
Мне показалось - именно показалось, тестов много не делал, что в последнее время разница между malloc и jemalloc почти стёрлась.
Ответить | Правка | Наверх | Cообщить модератору

113. "В ядро Linux 5.12 принята подсистема KFence для выявления ош..."  +1 +/
Сообщение от timur.davletshin (ok), 28-Фев-21, 23:41 
Она значительно уменьшилась, но не исчезла. Cугубо на синтетических тестах вроде http://ithare.com/testing-memory-allocators-ptmalloc2-tcmall.../ у меня jemalloc всё ещё выигрывает у родного. Но в реальных приложениях разница в производительности уменьшилась по сути до точности измерения. Хотя, по кол-ву пожираемой памяти разница есть заметная.
Ответить | Правка | Наверх | Cообщить модератору

102. "В ядро Linux 5.12 принята подсистема KFence для выявления ош..."  +/
Сообщение от Онаним (?), 28-Фев-21, 23:22 
С madvise даже немножко меньше выходит, потому что ядро себя слегка пооптимальнее раскладывает.
Но у меня с thp по другим причинам не сложилось, там на расщепление страниц очень большие накладные расходы, поэтому оно везде выключено.
Ответить | Правка | К родителю #99 | Наверх | Cообщить модератору

103. "В ядро Linux 5.12 принята подсистема KFence для выявления ош..."  +/
Сообщение от timur.davletshin (ok), 28-Фев-21, 23:26 
C ним и должно меньше выходить. На десктопе разница заметнее кстати.
Ответить | Правка | Наверх | Cообщить модератору

107. "В ядро Linux 5.12 принята подсистема KFence для выявления ош..."  +/
Сообщение от Онаним (?), 28-Фев-21, 23:31 
Ну да. Там смотрю буферы диска с thp пооптимальнее ещё разложились.
Но всё равно, на системе с 12 крупными фоновыми демонами и ещё чистым MariaDB buffer pool никакими сотнями метров близко не пахнет.
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру