НАИМЕНОВАНИЕ
/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>
и Kirill Rekhov <krekhov.dev@gmail.com>
Этот
перевод
является
свободной
программной
документацией;
он
распространяется
на
условиях
общедоступной
лицензии GNU (GNU
General Public License - GPL,
https://www.gnu.org/licenses/gpl-3.0.html
версии 3 или
более
поздней) в
отношении
авторского
права, но
БЕЗ
КАКИХ-ЛИБО
ГАРАНТИЙ.
Если вы
обнаружите
какие-либо
ошибки в
переводе
этой
страницы
руководства,
пожалуйста,
сообщите
об этом
разработчику(ам)
по его(их)
адресу(ам)
электронной
почты или
по адресу
списка
рассылки
русских
переводчиков.