table of contents
proc_buddyinfo(5) | File Formats Manual | proc_buddyinfo(5) |
ИМЯ¶
/proc/buddyinfo - memory fragmentation
ОПИСАНИЕ¶
- /proc/buddyinfo
- В этом файле содержится информация, которую можно использовать при диагностике проблем с фрагментацией памяти. Каждая строка начинается с идентификатора узла и имени зоны, которые вместе определяют область памяти. Далее следует количество доступных блоков (chunks) определённого порядка, в котором разделялись зоны. Размер в байтах порядка задаётся формулой:
-
(2^order) * PAGE_SIZE
- Алгоритм двоичных близнецов (binary buddy allocator) внутри ядра разделит один блок на несколько меньшего размера (например, пополам) или объединит два рядом стоящих блока в один большего размера (например удвоенного), чтобы выполнить запрос выделения и подсчёта фрагментации памяти. Порядок совпадает с номером столбца, при начале отсчёта от нуля.
- Пример для системы x86-64:
Node 0, zone DMA 1 1 1 0 2 1 1 0 1 1 3 Node 0, zone DMA32 65 47 4 81 52 28 13 10 5 1 404 Node 0, zone Normal 216 55 189 101 84 38 37 27 5 3 587
- В этом примере показан один узел, содержащий три зоны и 11 блоков разного размера. Если размер страницы равен 4 КБ, то первая зона с именем DMA (в x86 — первые 16 МБ памяти) содержит 1 блок по 4 КБ (порядок 0) и 3 блока по 4 МБ (порядок 10).
- Если памяти сильно фрагментирована, то счётчики блоков высшего порядка будут равны нулю и выделение больших непрерывных областей будет завершаться с ошибкой.
- Дополнительную информацию о зонах смотрите /proc/zoneinfo.
СМОТРИТЕ ТАКЖЕ¶
ПЕРЕВОД¶
Русский перевод этой страницы руководства разработал(и) Alexey, Azamat Hackimov <azamat.hackimov@gmail.com>, kogamatranslator49 <r.podarov@yandex.ru>, Darima Kogan <silverdk99@gmail.com>, Max Is <ismax799@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>
Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.
Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков.
2 мая 2024 г. | Справочные страницы Linux 6.8 |