Eu estou querendo saber qual é a diferença entre criar um swapfile com
fallocate -l 1G /swapfile
e
dd if=/dev/zero of=/swapfile bs=1024 count=1024
ambos parecem funcionar bem, mas um tem uma vantagem sobre o outro?
A única coisa que pude encontrar on-line foi que fallocate
não funciona em todos os sistemas de arquivos.
fallocate
geralmente é mais rápido (já que não preenche o arquivo criado com zeros) - caso contrário, não há diferenças, mas o resultado final é o mesmo. Veja: antipaucity.com/2017/08/31/…Respostas:
Na página de
mkswap
manual :E na página de
swapon
manual :Daqui resulta que, embora
fallocate
possa ser mais rápidodd
, não é adequado para criar arquivos de troca e não é suportado por ferramentas relacionadas à troca.fonte
fallocate --length 8GiB swapfile
estou confuso.fallocate
ser um problema. Parece, bem, alocar o espaço. (Como se diz no rótulo.) E fazendofallocate -l 1g /swaptest && mkswap /swaptest && swapon /swaptest
emext4
não reclamar de nada.truncate -l 1g
seria diferente, pois apenas define o tamanho do arquivo, mas não aloca nenhum bloco.O fallocate é mais rápido, na página de manual do fallocate:
fallocate é usado para manipular o espaço em disco alocado para um arquivo, para desalocá-lo ou pré-alocá-lo. Para sistemas de arquivos que suportam a chamada de sistema fallocate, preallocation é feito rapidamente através da atribuição de blocos e marcá-las como não inicializado, sem necessidade de IO para os blocos de dados. Isso é muito mais rápido do que criar um arquivo preenchendo-o com zeros.
fallocate(1)
fonte