Описание тега htc-evo
У меня есть эта сумасшедшая идея, и хочу знать подводные камни такого подхода (или же он даже может работать без зависаний и т. д.).
Цель состоит в том, чтобы создать автоматически расширяется и сжимается в один файл подкачки, который обеспечивает достаточно мощности, чтобы соответствовать весь жесткий диск. Производительность не большая цель. Идея представить буферную зону для тех редких случаев, перебор памяти.
Предположим у нас есть 1 жесткий диск 10 ГБ. Мы можем создать разреженный файл подкачки через (это было производным от ее подкачки обходные пути):
файл подкачки=$(losetup -Ф)
усечение -с 10г /обмен
losetup $подкачки /обмен
команды mkswap $подкачки
файл подкачки вызове swapon $
Нам необходимо было сделать выше, потому что вызове swapon
не позволяет разреженные файлы.
Итак, есть 2 проблемы:
- Будучи разреженным увеличивает фрагментацию, хотя это снижает производительность, это не должно помешать его работе верно?
- Разреженный файл не Договора в размер, поэтому нам нужно сделать отверстия пробивая (https://stackoverflow.com/a/2026015/582917 & https://unix.stackexchange.com/a/52029/56970), поэтому, возможно, мы можем просто периодически запускать
fallocate -д /подкачки
илиfallocate -д $подкачки
(я не пробовал еще), для того, чтобы пробить отверстия в файл подкачки, чтобы сделать его контракт после использования.
Мы можем установить виртуальную машину.swappiness = 0 по умолчанию
или ВМ.подкачки = 1
, чтобы сделать так, что процессы (что более важно для меня) вряд ли будут использовать этот своп.
Наконец, это работа с гибернации в соответствии с инструкциями в https://wiki.archlinux.org/index.php/Power_management/Suspend_and_hibernate#Hibernation_into_swap_file ?