今天,我正在学习linux文件系统。我了解了.dirty内核参数。当我想测试dirty_writeback_centisecs参数时,我发现dirty_writeback_centisecs没有效果。
我将dirty_writeback_centisecs内核参数设置为值5000。
从理论上讲,内存中的脏数据可以刷新到磁盘。但是我用Python打开一个文件hello,然后用文件句柄把"hello world“写到内存中。我等了500秒,文件hello仍然是空的。
测试前,文件hello为空:
linux-4gcq:/tmp # cat hello
linux-4gcq:/tmp #使用python编写文件:
f = open('/tmp/hello','w')
f.write('hello world')我等了很长时间,但文件仍然是空的。
发布于 2018-01-09 10:11:27
Python使用f.write缓冲输出。您需要使用f.flush。
与内核参数无关。无论内核参数如何,您都会看到文件内容,它们只在某些内容到达介质时才起作用,而不是在文件系统中看到它时起作用。
https://stackoverflow.com/questions/45564552
复制相似问题