Что такое активная память и неактивная память

Что такое активная память и неактивная память? Я выполняю команду vmstat -a на машине Linux, и я получаю следующий вывод:

vmstat -a
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
 r  b   swpd   free  inact active   si   so    bi    bo   in   cs us sy id wa st
 1  0 249900 4801880 2649428 8246152    0    0    42    31    0    0  4  0 95  0  0

Но я не понимаю, какая именно активная и неактивная память... Не могли бы вы рассказать?

Ответ 1

Существует два состояния "используемой" памяти: "неактивный" и "активный".

Активная память - это память, используемая определенным процессом.
Неактивная память - это память, выделенная процессу, который больше не выполняется. это страницы, которые не были доступны "недавно"

чтобы увидеть память, используйте /proc/meminfo а не vmstat -a

cat /proc/meminfo  

вам не нужно очищать эту неактивную память. Когда система перезагружается, эта память автоматически исчезает, тем не менее, если у вас большой объем неактивной памяти, вы можете использовать следующую команду.

free && sync && echo 3 > /proc/sys/vm/drop_caches && echo "" && free

Редактировать Согласно комментарию @kubanczyk: вы можете найти больше информации по этому вопросу

Ответ 2

Неактивная память - не отображается в кэш или физическую память, а активна - наоборот.

vmstat сообщает статистику виртуальной памяти