今天,我正在学习linux文件系统。我了解了.dirty
内核参数。当我想测试dirty_writeback_centisecs
参数时,我发现dirty_writeback_centisecs
无效。
我将dirty_writeback_centisecs
内核参数设置为值5000。
理论上,内存中的脏数据可能与磁盘齐平。但我用Python打开一个文件hello
,然后写下#34; hello world"使用文件句柄到内存。我等了500秒,文件hello
仍然是空的。
在测试之前,文件hello
为空:
linux-4gcq:/tmp # cat hello
linux-4gcq:/tmp #
使用python写文件:
f = open('/tmp/hello','w')
f.write('hello world')
我等了很长时间,但文件仍然是空的。
答案 0 :(得分:1)
Python使用f.write
缓冲输出。您需要使用f.flush
。
与内核参数无关。无论这些内核参数如何,您都会看到文件内容,它们仅在某些内容到达媒体时影响,而不是在文件系统中看到它时。