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.

СМОТРИТЕ ТАКЖЕ
proc(5)

ПЕРЕВОД
Русский перевод этой страницы руководства разработал(и) 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> и Kirill Rekhov <krekhov.dev@gmail.com>

Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков (<debian-l10n-russian@lists.debian.org>).