Мне интересно, какая разница между созданием файла подкачки с
fallocate -l 1G /swapfile
и
dd if=/dev/zero of=/swapfile bs=1024 count=1024
оба, кажется, работают нормально, но имеет ли одно преимущество перед другим?
Единственное, что я смог найти в Интернете, fallocate
это то, что он работает не на всех файловых системах.
fallocate
обычно быстрее (так как он не заполняет созданный файл нулями) - иначе никаких различий, хотя, конечный результат тот же. См .: antipaucity.com/2017/08/31/…Ответы:
Из за
mkswap
страницы руководства :И из за
swapon
страницы руководства :Из этого следует, что, хотя он
fallocate
может быть быстрееdd
, он не подходит для создания файлов подкачки и не поддерживается инструментами, связанными со свопом.источник
fallocate --length 8GiB swapfile
которую я запутал.fallocate
будет проблема. Кажется, ну выделите место. (Как написано на этикетке.) И делатьfallocate -l 1g /swaptest && mkswap /swaptest && swapon /swaptest
дальшеext4
не на что жаловаться.truncate -l 1g
будет отличаться, так как он просто устанавливает размер файла, но не выделяет никаких блоков.Fallocate быстрее, из справочной страницы Fallocate:
Fallocate используется для манипулирования выделенным дисковым пространством для файла, чтобы освободить или предварительно выделить его. Для файловых систем, которые поддерживают системный вызов fallocate, предварительное распределение выполняется быстро, выделяя блоки и помечая их как неинициализированные, не требуя ввода-вывода для блоков данных. Это гораздо быстрее, чем создавать файл, заполняя его нулями.
fallocate(1)
источник