Hoje, estou aprendendo o sistema de arquivos Linux. Eu aprendi sobre o .dirty
parâmetro do kernel. Quando eu quero testar o dirty_writeback_centisecs
parâmetro, eu acho o dirty_writeback_centisecs
não tem efeito.
Eu definir o dirty_writeback_centisecs
parâmetro kernel para o valor 5000.
Em teoria, os dados sujos na memória podem ser liberados para o disco. Mas eu abro um arquivo hello
com Python, então escreva "hello world" na memória com o identificador de arquivo. Eu espero 500 segundos, o arquivo hello
ainda está vazio.
Antes do teste, o arquivo hello
está vazia:
linux-4gcq:/tmp # cat hello
linux-4gcq:/tmp #
use o python para escrever o arquivo:
f = open("/tmp/hello","w")
f.write("hello world")
Espero muito, mas o arquivo ainda está vazio.
Respostas:
0 para resposta № 1Saída de buffers Python com f.write
. Você precisa usar f.flush
.
Nada a ver com os parâmetros do kernel. Você veria o conteúdo do arquivo independentemente dos parâmetros do kernel, eles só afetam quando algo chega à mídia, não quando você vê no sistema de arquivos.