proc_meminfo(5) File Formats Manual proc_meminfo(5)

ИМЯ

/proc/meminfo - memory usage

ОПИСАНИЕ

/proc/meminfo
Этот файл содержит статистику по использованию памяти системы. Он используется программой free(1) для формирования отчёта о свободной и используемой памяти (как физической, так и подкачки), а также общей памяти и памяти под буферы, которую использует ядро. В каждой строке файла содержится имя параметра, двоеточие, значение параметра и необязательная единица измерения (например, «kB»). В списке далее описываются параметры и определитель формата, требуемый для чтения значения поля. За исключением замечаний, представленных ниже, все показанные поля имеются начиная с Linux 2.6.0. Некоторые поля появляются только, если ядро собрано с определёнными параметрами; это зависимости также показаны в списке.
Общее количество используемой RAM (т.е. физической RAM минус несколько зарезервированных бит и исполняемый код ядра).
Сумма LowFree+HighFree.
Предполагаемое количество памяти, доступное для запуска новых приложений, без обращения к подкачке.
Относительно временное хранилище сырых дисковых блоков, которое не должно быть очень велико (порядка 20 МБ).
Кэш в памяти для прочитанных дисковых файлов (страничный кэш). Не включает SwapCached.
Память, которая однажды попала в подкачку, выгрузилась обратно в память, но всё равно остаётся в файле подкачки (если нагрузка на память велика, эти страницы не придётся снова выгружать, так как они уже в файле подкачки — предотвращается ввод-вывод).
Память, которая часто использовалась и обычно не высвобождается без сильной необходимости.
Память, которая редко использовалась. Кандидат на высвобождение для других нужд.
[Будет описано.]
[Будет описано.]
[Будет описано.]
[Будет описано.]
(From Linux 2.6.28 to Linux 2.6.30, CONFIG_UNEVICTABLE_LRU was required.) [To be documented.]
(From Linux 2.6.28 to Linux 2.6.30, CONFIG_UNEVICTABLE_LRU was required.) [To be documented.]
(Starting with Linux 2.6.19, CONFIG_HIGHMEM is required.) Total amount of highmem. Highmem is all memory above ~860 MB of physical memory. Highmem areas are for use by user-space programs, or for the page cache. The kernel must use tricks to access this memory, making it slower to access than lowmem.
(Начиная с Linux 2.6.19, требуется параметр CONFIG_HIGHMEM.) Количество свободной highmem.
(Начиная с Linux 2.6.19, требуется параметр CONFIG_HIGHMEM.) Общее количество lowmem. Lowmem — это память, используемая для всего, что и highmem, но также доступна и для структур ядра. Среди прочего, выделяется для Slab. Когда заканчивается lowmem происходят нехорошие вещи.
(Начиная с Linux 2.6.19, требуется параметр CONFIG_HIGHMEM.) Количество свободной lowmem.
(Требуется параметр CONFIG_MMU.) [Будет описано.]
Общее количество доступного пространства подкачки.
Общее количество неиспользуемого пространства подкачки.
Память, которая ждёт записи обратно на диск.
Память, которая переписывается обратно на диск.
Не файловые фоновые (backed) страницы, отображённые в страничные таблицы пользовательского пространства.
Отображённые в память файлы (с помощью mmap(2)), например библиотеки.
Объём памяти, использованной в файловых системах tmpfs(5).
Выделения ядра, которые оно будет пытаться отозвать при нехватки памяти. Включают SReclaimable (смотрите ниже) и другие непосредственные выделения сокращателя (shrinker).
Кэш ядерных структур данных (смотрите slabinfo(5)).
Часть Slab, которая может быть высвобождена, например кэши.
Часть Slab, которая не может быть высвобождена при нехватке памяти.
Количество памяти, выделенное под стеки ядра.
Количество памяти, выделенное под страничные таблицы на самом нижнем уровне.
(Требуется параметр CONFIG_QUICKLIST.) [Будет описано.]
Страницы NFS, полученные сервером, но ещё не записанные в стабильное хранилище.
Память, используемая для блочного устройства «bounce buffers».
Память, используемая FUSE для временных буферов обратной записи.
Общее количество памяти, доступное в данный момент в системе для выделения, выражается в байтах. Данное ограничение соблюдается только, если включён жёсткий учёт перерасчёта (strict overcommit accounting) (режим 2 в /proc/sys/vm/overcommit_memory). Ограничение вычисляется по формуле, описанной в разделе про /proc/sys/vm/overcommit_memory. Подробности смотрите в файле исходного кода ядра Documentation/vm/overcommit-accounting.rst.
Количество памяти, распределённое в системе в данный момент. Задействованная память (committed memory) — это сумма всей памяти, распределённая среди всех процессов, даже если она ими ещё не «используется». Для процесса, взявшего 1 ГБ памяти (например, с помощью malloc(3)), но задействовавшего только 300 МБ этой памяти, будет показано что используются только 300 МБ, даже если ему отдано адресное пространство 1ГБ.
Этот 1 ГБ памяти «задействован» VM и может быть использован запросившим приложением в любое время. При включённом режиме жёсткого учёта перерасхода (режим 2 в /proc/sys/vm/overcommit_memory), запросы, которые превысили бы CommitLimit (подробности выше), выполнены не будут. Это полезно, если нужно гарантировать, что процессы не завершатся из-за нехватки памяти после того, как память им будет успешно выделена.
Общий размер области памяти vmalloc.
Размер используемой области vmalloc. Начиная с Linux 4.4 это поле не вычисляется и всегда равно 0. Смотрите /proc/vmallocinfo.
Самый большой свободный непрерывный блок области vmalloc. Начиная с Linux 4.4 это поле не вычисляется и всегда равно 0. Смотрите /proc/vmallocinfo.
(Требуется параметр CONFIG_MEMORY_FAILURE.) [Будет описано.]
Отражает количество памяти, помеченной вызовом madvise(2) MADV_FREE.
(Требуется параметр CONFIG_TRANSPARENT_HUGEPAGE.) Не файловые фоновые огромные страницы, отображённые в страничные таблицы пользовательского пространства.
(требуется CONFIG_TRANSPARENT_HUGEPAGE) Память, используемая для выделения огромных страниц под общую память (shmem) и tmpfs(5).
(Требуется CONFIG_TRANSPARENT_HUGEPAGE.) Общая память, отображённая в пользовательское пространство огромными страницами.
(Требуется CONFIG_CMA.) Общее количество страниц CMA (выделитель непрерывной памяти).
(Требуется CONFIG_CMA.) Количество свободных страниц CMA (выделитель непрерывной памяти).
(Требуется параметр CONFIG_HUGETLB_PAGE.) Размер пула огромных страниц.
(Требуется параметр CONFIG_HUGETLB_PAGE.) Количество нераспределённых огромных страниц в пуле.
(Требуется параметр CONFIG_HUGETLB_PAGE.) Количество огромных страниц, для которых есть обязательство по распределению в пуле, но которые ещё не распределены. Эти зарезервированные огромные страницы гарантируют, что приложение сможет получить огромную страницу из пула огромных страниц при нехватке памяти.
(Требуется параметр CONFIG_HUGETLB_PAGE.) Количество огромных страниц в пуле выше значения в /proc/sys/vm/nr_hugepages. Максимальное число избыточных огромных страниц настраивается в /proc/sys/vm/nr_overcommit_hugepages.
(Требуется параметр CONFIG_HUGETLB_PAGE.) Размер огромных страниц.
Количество байт RAM линейно отображаемых ядром в 4 КБ страницы. (x86.)
Количество байт RAM линейно отображаемых ядром в 4 МБ страницы. (x86 с включённым CONFIG_X86_64 или CONFIG_X86_PAE).
Количество байт RAM линейно отображаемых ядром в 2 МБ страницы. (x86 с выключенными CONFIG_X86_64 и CONFIG_X86_PAE).
(x86 с включёнными CONFIG_X86_64 и CONFIG_X86_DIRECT_GBPAGES)

СМОТРИТЕ ТАКЖЕ

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>

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

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

2 мая 2024 г. Справочные страницы Linux 6.9.1