Раздел подкачки используется только для хранения временных файлов и часто для подкачки содержимого первичной памяти, когда первичной памяти мало, а в памяти накапливаются другие программы. Это позволяет ОС временно хранить в Swap-разделе неактивные части некоторых программ и загружать новые. Поскольку одновременно работает только одна ОС, а раздел Swap - это просто еще один раздел жесткого диска с флагом "swap", вы можете выделить одно и то же пространство Swap для нескольких ОС.
Tldr; Можно разделить пространство подкачки между двумя ОС, и вам не нужно создавать отдельное пространство подкачки.
Посмотрите здесь
Конечно, я нашел ответ сразу после публикации в сообщении , предложенном stackexchange при публикации .
unbuffer
(from expect) решает эту проблему.
unbuffer locate something | xargs -n 1 do_something
запускает команды настолько быстро, насколько locate может их найти.
locate
буферизует поток STDOUT, вам необходимо сделать STDOUT для locate
небуферизованным (или буферизованным по строке).
Если вы работаете в системе GNU, вы можете использовать stdbuf
(поставляется с GNU coreutils
).
Чтобы сделать STDOUT locate
небуферизованным:
stdbuf -o0 locate something | ...
Буферизованная строка:
stdbuf -oL locate something | ...
Проверьте man stdbuf
, чтобы получить больше информации.