Разница между CONFIG_RANDOMIZE_BASE и CONFIG_RANDOMIZE_MEMORY в конфигурации ядра Linux

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

tmpfs может использовать разделы подкачки для обмена данными, но даже это не помогает, если вы активно читаете / записываете эти файлы, и в этот момент их нужно снова заменить.

В основном системы, которые имеют множество экземпляров смонтированных tmpfs обычно работают в предположении, что хотя tmpfs существует, на самом деле он не будет заполнен до предела.


Если вы хотите попробовать это - желательно на Live CD, где ничего не смонтировано - то это работает следующим образом:

mkdir a b c
mount -t tmpfs tmpfs a
mount -t tmpfs tmpfs b
mount -t tmpfs tmpfs c
truncate -s 1T a/a b/b c/c
shred -v -n 1 a/a b/b c/c

Это создает три экземпляра tmpfs , по умолчанию каждый имеет ограничение на 50% памяти. итого 150% (не считая свопа, если у вас есть своп, не стесняйтесь добавить def ... ).

Вывод клочка будет выглядеть примерно так:

shred: a/a: pass 1/1 (random)...
shred: a/a: error writing at offset 1049104384: No space left on device
shred: b/b: pass 1/1 (random)...
# system hangs indefinitely at this point, without swap it never reaches c/c #
2
07.05.2019, 16:16
1 ответ

RANDOMIZE_BASE — это функция, доступная на большинстве архитектур, которая рандомизирует виртуальный и физический базовые адреса ядра .

RANDOMIZE_MEMORYявляется специфической функцией x86 -64 -, которая дополнительнорандомизирует смещения page_offset_base, vmalloc_base, vmemmap_base, , т.е. местоположения физическое отображение в памяти ядра, пространство vmallocи карта виртуальной памяти. Как вы можете видеть из связанной карты памяти, за всеми ними следуют дыры, которые позволяют перемещать их без необходимости иметь дело с перекрытием с тем, что находится до или после них в памяти.

2
27.01.2020, 22:08

Теги

Похожие вопросы