table of contents
proc_meminfo(5) | File Formats Manual | proc_meminfo(5) |
ИМЯ¶
/proc/meminfo - memory usage
ОПИСАНИЕ¶
- /proc/meminfo
- Этот файл содержит статистику по использованию памяти системы. Он используется программой free(1) для формирования отчёта о свободной и используемой памяти (как физической, так и подкачки), а также общей памяти и памяти под буферы, которую использует ядро. В каждой строке файла содержится имя параметра, двоеточие, значение параметра и необязательная единица измерения (например, «kB»). В списке далее описываются параметры и определитель формата, требуемый для чтения значения поля. За исключением замечаний, представленных ниже, все показанные поля имеются начиная с Linux 2.6.0. Некоторые поля появляются только, если ядро собрано с определёнными параметрами; это зависимости также показаны в списке.
- MemTotal %lu
- Общее количество используемой RAM (т.е. физической RAM минус несколько зарезервированных бит и исполняемый код ядра).
- MemFree %lu
- Сумма LowFree+HighFree.
- MemAvailable %lu (начиная с Linux 3.14)
- Предполагаемое количество памяти, доступное для запуска новых приложений, без обращения к подкачке.
- Buffers %lu
- Относительно временное хранилище сырых дисковых блоков, которое не должно быть очень велико (порядка 20 МБ).
- Cached %lu
- Кэш в памяти для прочитанных дисковых файлов (страничный кэш). Не включает SwapCached.
- SwapCached %lu
- Память, которая однажды попала в подкачку, выгрузилась обратно в память, но всё равно остаётся в файле подкачки (если нагрузка на память велика, эти страницы не придётся снова выгружать, так как они уже в файле подкачки — предотвращается ввод-вывод).
- Active %lu
- Память, которая часто использовалась и обычно не высвобождается без сильной необходимости.
- Inactive %lu
- Память, которая редко использовалась. Кандидат на высвобождение для других нужд.
- Active(anon) %lu (начиная с Linux 2.6.28)
- [Будет описано.]
- Inactive(anon) %lu (начиная с Linux 2.6.28)
- [Будет описано.]
- Active(file) %lu (начиная с Linux 2.6.28)
- [Будет описано.]
- Inactive(file) %lu (начиная с Linux 2.6.28)
- [Будет описано.]
- Unevictable %lu (начиная с Linux 2.6.28)
- (From Linux 2.6.28 to Linux 2.6.30, CONFIG_UNEVICTABLE_LRU was required.) [To be documented.]
- Mlocked %lu (начиная с Linux 2.6.28)
- (From Linux 2.6.28 to Linux 2.6.30, CONFIG_UNEVICTABLE_LRU was required.) [To be documented.]
- HighTotal %lu
- (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.
- HighFree %lu
- (Начиная с Linux 2.6.19, требуется параметр CONFIG_HIGHMEM.) Количество свободной highmem.
- LowTotal %lu
- (Начиная с Linux 2.6.19, требуется параметр CONFIG_HIGHMEM.) Общее количество lowmem. Lowmem — это память, используемая для всего, что и highmem, но также доступна и для структур ядра. Среди прочего, выделяется для Slab. Когда заканчивается lowmem происходят нехорошие вещи.
- LowFree %lu
- (Начиная с Linux 2.6.19, требуется параметр CONFIG_HIGHMEM.) Количество свободной lowmem.
- MmapCopy %lu (начиная с Linux 2.6.29)
- (Требуется параметр CONFIG_MMU.) [Будет описано.]
- SwapTotal %lu
- Общее количество доступного пространства подкачки.
- SwapFree %lu
- Общее количество неиспользуемого пространства подкачки.
- Dirty %lu
- Память, которая ждёт записи обратно на диск.
- Writeback %lu
- Память, которая переписывается обратно на диск.
- AnonPages %lu (начиная с Linux 2.6.18)
- Не файловые фоновые (backed) страницы, отображённые в страничные таблицы пользовательского пространства.
- Mapped %lu
- Отображённые в память файлы (с помощью mmap(2)), например библиотеки.
- Shmem %lu (начиная с Linux 2.6.32)
- Объём памяти, использованной в файловых системах tmpfs(5).
- KReclaimable %lu (начиная с Linux 4.20)
- Выделения ядра, которые оно будет пытаться отозвать при нехватки памяти. Включают SReclaimable (смотрите ниже) и другие непосредственные выделения сокращателя (shrinker).
- Slab %lu
- Кэш ядерных структур данных (смотрите slabinfo(5)).
- SReclaimable %lu (начиная с Linux 2.6.19)
- Часть Slab, которая может быть высвобождена, например кэши.
- SUnreclaim %lu (начиная с Linux 2.6.19)
- Часть Slab, которая не может быть высвобождена при нехватке памяти.
- KernelStack %lu (начиная с Linux 2.6.32)
- Количество памяти, выделенное под стеки ядра.
- PageTables %lu (начиная с Linux 2.6.18)
- Количество памяти, выделенное под страничные таблицы на самом нижнем уровне.
- Quicklists %lu (начиная с Linux 2.6.27)
- (Требуется параметр CONFIG_QUICKLIST.) [Будет описано.]
- NFS_Unstable %lu (начиная с Linux 2.6.18)
- Страницы NFS, полученные сервером, но ещё не записанные в стабильное хранилище.
- Bounce %lu (начиная с Linux 2.6.18)
- Память, используемая для блочного устройства «bounce buffers».
- WritebackTmp %lu (начиная с Linux 2.6.26)
- Память, используемая FUSE для временных буферов обратной записи.
- CommitLimit %lu (начиная с Linux 2.6.10)
- Общее количество памяти, доступное в данный момент в системе для выделения, выражается в байтах. Данное ограничение соблюдается только, если включён жёсткий учёт перерасчёта (strict overcommit accounting) (режим 2 в /proc/sys/vm/overcommit_memory). Ограничение вычисляется по формуле, описанной в разделе про /proc/sys/vm/overcommit_memory. Подробности смотрите в файле исходного кода ядра Documentation/vm/overcommit-accounting.rst.
- Committed_AS %lu
- Количество памяти, распределённое в системе в данный момент. Задействованная память (committed memory) — это сумма всей памяти, распределённая среди всех процессов, даже если она ими ещё не «используется». Для процесса, взявшего 1 ГБ памяти (например, с помощью malloc(3)), но задействовавшего только 300 МБ этой памяти, будет показано что используются только 300 МБ, даже если ему отдано адресное пространство 1ГБ.
- Этот 1 ГБ памяти «задействован» VM и может быть использован запросившим приложением в любое время. При включённом режиме жёсткого учёта перерасхода (режим 2 в /proc/sys/vm/overcommit_memory), запросы, которые превысили бы CommitLimit (подробности выше), выполнены не будут. Это полезно, если нужно гарантировать, что процессы не завершатся из-за нехватки памяти после того, как память им будет успешно выделена.
- VmallocTotal %lu
- Общий размер области памяти vmalloc.
- VmallocUsed %lu
- Размер используемой области vmalloc. Начиная с Linux 4.4 это поле не вычисляется и всегда равно 0. Смотрите /proc/vmallocinfo.
- VmallocChunk %lu
- Самый большой свободный непрерывный блок области vmalloc. Начиная с Linux 4.4 это поле не вычисляется и всегда равно 0. Смотрите /proc/vmallocinfo.
- HardwareCorrupted %lu (начиная с Linux 2.6.32)
- (Требуется параметр CONFIG_MEMORY_FAILURE.) [Будет описано.]
- LazyFree %lu (начиная с Linux 4.12)
- Отражает количество памяти, помеченной вызовом madvise(2) MADV_FREE.
- AnonHugePages %lu (начиная с Linux 2.6.38)
- (Требуется параметр CONFIG_TRANSPARENT_HUGEPAGE.) Не файловые фоновые огромные страницы, отображённые в страничные таблицы пользовательского пространства.
- ShmemHugePages %lu (начиная с Linux 4.8)
- (требуется CONFIG_TRANSPARENT_HUGEPAGE) Память, используемая для выделения огромных страниц под общую память (shmem) и tmpfs(5).
- ShmemPmdMapped %lu (начиная с Linux 4.8)
- (Требуется CONFIG_TRANSPARENT_HUGEPAGE.) Общая память, отображённая в пользовательское пространство огромными страницами.
- CmaTotal %lu (начиная с Linux 3.1)
- (Требуется CONFIG_CMA.) Общее количество страниц CMA (выделитель непрерывной памяти).
- CmaFree %lu (начиная с Linux 3.1)
- (Требуется CONFIG_CMA.) Количество свободных страниц CMA (выделитель непрерывной памяти).
- HugePages_Total %lu
- (Требуется параметр CONFIG_HUGETLB_PAGE.) Размер пула огромных страниц.
- HugePages_Free %lu
- (Требуется параметр CONFIG_HUGETLB_PAGE.) Количество нераспределённых огромных страниц в пуле.
- HugePages_Rsvd %lu (начиная с Linux 2.6.17)
- (Требуется параметр CONFIG_HUGETLB_PAGE.) Количество огромных страниц, для которых есть обязательство по распределению в пуле, но которые ещё не распределены. Эти зарезервированные огромные страницы гарантируют, что приложение сможет получить огромную страницу из пула огромных страниц при нехватке памяти.
- HugePages_Surp %lu (начиная с Linux 2.6.24)
- (Требуется параметр CONFIG_HUGETLB_PAGE.) Количество огромных страниц в пуле выше значения в /proc/sys/vm/nr_hugepages. Максимальное число избыточных огромных страниц настраивается в /proc/sys/vm/nr_overcommit_hugepages.
- Hugepagesize %lu
- (Требуется параметр CONFIG_HUGETLB_PAGE.) Размер огромных страниц.
- DirectMap4k %lu (начиная с Linux 2.6.27)
- Количество байт RAM линейно отображаемых ядром в 4 КБ страницы. (x86.)
- DirectMap4M %lu (начиная с Linux 2.6.27)
- Количество байт RAM линейно отображаемых ядром в 4 МБ страницы. (x86 с включённым CONFIG_X86_64 или CONFIG_X86_PAE).
- DirectMap2M %lu (начиная с Linux 2.6.27)
- Количество байт RAM линейно отображаемых ядром в 2 МБ страницы. (x86 с выключенными CONFIG_X86_64 и CONFIG_X86_PAE).
- DirectMap1G %lu (начиная с Linux 2.6.27)
- (x86 с включёнными CONFIG_X86_64 и CONFIG_X86_DIRECT_GBPAGES)
СМОТРИТЕ ТАКЖЕ¶
ПЕРЕВОД¶
Русский перевод этой страницы руководства разработал 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 man-pages (unreleased) |