Почему имеет смысл кэшировать своп?

9

Для меня звучит довольно контрпродуктивно, чтобы кэшировать подкачанные страницы. Если вы меняете страницы, что является преимуществом для того, чтобы сначала кэшировать их в памяти, только для того, чтобы переместить их в нужное место? Даже если страницы меняются местами с упреждением, не имеет ли больше смысла «просто» обменивать их? Разве кеширование на самом деле не является пустой тратой ресурсов?

txwikinger
источник
Вы, мэм / сэр, получите от меня дополнительные плюсы за ваши вопросы. Жаль, что я не мог проголосовать дважды.
Эли Фрей

Ответы:

12

После еще одного исследования я обнаружил, что термин SwapCached в /proc/meminfoвводит в заблуждение. Фактически, это относится к числу байтов, которые одновременно находятся в памяти и подкачке, так что, если эти страницы не загрязнены, их не нужно выгружать.

txwikinger
источник
2
Это в значительной степени эквивалентно кешированию, не так ли? Я имею в виду, что WRT - система управления памятью ядра, «кэшированная» означает «и на диске, и в оперативной памяти», верно?
SamB
0

Никогда даже не слышал об этом, и для меня это тоже не имеет большого смысла. Я все еще думаю, что старое доброе правило быть уверенным, что оно вообще не поменяется местами (за исключением, конечно, оговорок), является лучшим. Теоретически, кеширование содержимого в памяти с прямым доступом, которое занимает некоторое время для загрузки с чего-то такого медленного, как диск, имеет очевидное преимущество. Но если вы можете кешировать подлежащие обмену страницы, зачем снова менять местами?

Райхе
источник
0

Смысл дублирования страниц между подкачкой и оперативной памятью состоит в том, чтобы избежать ожидания диска, если либо:

  1. Что-то нужно читать из них

  2. Их нужно выселить, чтобы освободить место для чего-то другого

Если бы они были только в свопе, случай 1. означал бы ожидание их входа с диска; если бы они были только в ОЗУ, случай 2. означал бы ожидание их выхода на диск.

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

Самба
источник