tigerssj 发表于 2019-10-8 11:59

一个硬盘缓存相关的问题

最近遇到了一个情况:
在win7和win10上,我有一个用程序把一些内容通过程序写入到硬盘的文件中,写入完成之后,我即刻手动打开(双击)文件来看,内容是存在的也是对的,过了5秒之后,我断电,再次重启电脑,会发现里面的内容全部变成了00(空的),data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlMAAABsCAYAAABO8je5AAAJ1ElEQVR4nO3dPW7bShsG0FkXV8NqdiHAS2AXcBGpBLAV8JUCXNoNG3cB4tb9fMXNj/g3I3kiRIrOAVJcPCLzBLiEXonUTEgAAHxa+NsFAADumWEKAKCCYQoAoIJhCgCggmEKAKCCYQoAoIJhCgCggmEKAKCCYQoAoIJhCgCggmEKAKDC6jA1di+paQ4phGNquo+Hy2uNXUxNE1IITWq68eK85H3fpy+7Nj21u/Rl/+3iXH/99ddf/+v05zEth6nhZTpgDC8pDg+U1xri9AIf4uzvL+Qlz/30An/u09fnC/IS/fP0z9M/T/+8e+/Pw1oMU0M8psmwP76lJn5/mLzWEJvZ+bvUnFztpbzktd+l/51+WPq2T1/657Nz/fXXX3/9r9Ofx3XeMNW8PUxea/Vib7qz85LVi323PzvXX3/99df/Ov15XIYpw5T++uuvv/5/oD+Pa2WYOkzvQS9uk/3bea0hhtn5519T5/OS176d3sNffE2dz/XXX3/99b9Ofx7X8gH08S3Fkwe0h3hcDB//dF5r7FI8+eg0xGZx8Wfzkm/79PXkAcnXfre4+LO5/vrrr7/+1+l/ljHFEFIIMa1Xl99jvrk0QgiHFMJhc2mBfzmvNXYxhRBSCGHzp725vOR936entk1Pbbv5095crr/++uuv/3X6lw2FN2v5PeYW7QQAqGCYAgCoYJgCAKhgmAIAqGCYAgCoYJgCAKhgmAIAqGCYAgCosLloZ9McUgjHzUUvbzUfx+9p+JFvLchZOn+tsYupaUIKodlcdC6Xl7zv+/Rl16andre56Fwu119//fXX/zr9eUzLYWp4mQ4Yw8t0uf5bz7ded+nxnzXE6QU+xFn/Ql7y3E8v8Od+ut1BKS/RP0//PP3z9M+79/48rJWNjo+zXbnnGwXfdv77hevD1NnHf9LqruaTjTrzecnqruaTjTrzuf7666+//tfpz+M6b5hq3u4m//3CC4apteM/afVib7qz85LVi323PzvXX3/99df/Ov15XIYpw5T++uuvv/5/oD+Pa2WYOkzvQS9us912/vuFW8PUmcd/0hDD7Pzzr6nzeclr307v4S++ps7n+uuvv/76X6c/j2v5APr4luLJEDLE42L4uOn8V7DxAPq5x3/W2KV48tFpiM3i4s/mJd/26evJA5Kv/W5x8Wdz/fXXX3/9r9P/LGOKIaQQYlqvLr/HfHNphBAOKYT15QVuOR/i4Vf268/sNl7p/LXGLqYQQgohbP60N5eXvO/79NS26altN3/am8v1119//fW/Tv+yofBmLb/H3KKdAAAVDFMAABUMUwAAFQxTAAAVDFMAABUMUwAAFQxTAAAVDFMAABU2F+1smkMK4bi5aObt5t9TbH4u2HmcrHZ+7vlrjV1MTRNSCM3monO5vOR936cvuzY9tbvNRedyuf7666+//tfpz2NaDlPzbViGl+ly/Teed80xxeFHPn78+O8Lzl9riNMLfIizv7+Qlzz30wv8uZ9ud1DKS/TP0z9P/zz98+69Pw9rZaPj42xX7vlGw7edz43ddJi69PhLre5qPtmoM5+XrO5qPtmoM5/rr7/++ut/nf48rvOGqZO97W49n/iRnb78ouM/YfVib7qz85LVi323PzvXX3/99df/Ov15XP/uMDW+pdi8LDYqNEzpr7/++ut/jf48rpVh6jC9B724zXbbeUo/HjCP3yffSF1yfI0hhtn5519T5/OS176d3sNffE2dz/XXX3/99b9Ofx7X8gH08W3yC7ghHhfDx+3mH6mL01/wzZ+ZKp6/1tilePLRaYjN4uLP5iXf9unryQOSr/1ucfFnc/31119//a/T/yxjiiGkEOLizon8fvPNpRH+W1rgsLk0wU3m41tqwuFX9vPP/GIrnb/W2MUUQkghhM2f9ubykvd9n57aNj217eZPe3O5/vrrr7/+1+lfNhTerOX3mFu0EwCggmEKAKCCYQoAoIJhCgCggmEKAKCCYQoAoIJhCgCggmEKAKDC5qKdTXNIIRw3F8283fwjDd3Lr8U7m/i22FamdP5aYxdT04QUQrO56FwuL3nf9+nLrk1P7W5z0blcrr/++uuv/3X685iWw9TwMh0whpfpCuI3no/dMTXdyV5+3XHx+uz5aw1xeoEPcda/kJc899ML/LmfbndQykv0z9M/T/88/fPuvT8Pa2Wj4+NsV+75RsO3nS/+PbNh6tLjL7W6q/lko858XrK6q/lko858rr/++uuv/3X687jOG6aat7vJ//ORuubnbb7poHTe8Z+3erE33dl5yerFvtufneuvv/7663+d/jyuf3SY+pl9pC6e8c2UYUp//fXXX3/DFJ+0MkwdpvegF7fZbjtfWAxjFx5/oSGG2fnnX1Pn85LXvp3ew198TZ3P9ddff/31v05/HtfyAfTxLcXZNznz4eOW8645pjj8zD/SEA8pnA5LpfPXGrsUTz46DbFZXPzZvOTbPn09eUDytd8tLv5srr/++uuv/3X6n2VMMYQUQkzr1eX3mG8ujRB+Li2wsTTBzeY/bu39yuP31aURcuevNXYxhRBSCGHzp725vOR936entk1Pbbv5095crr/++uuv/3X6lw2FN2v5PeYW7QQAqGCYAgCoYJgCAKhgmAIAqGCYAgCoYJgCAKhgmAIAqGCYAgCosLloZ9McUgjHzUUzbzn/z/cUw2z184uO/7yxi6lpQgqh2Vx0LpeXvO/79GXXpqd2t7noXC7XX3/9Af6c5TA1vEwHjOFlulz/recppZQ+UtccUzes7Lt31vEVhjh9gxjirH8hL3nup28Qz/10u4NSXqJ/nv55994f4BNWNjo+znblnm80fNv5z9fEYTsrHV9jdVfzyUad+bxkdVfzyUad+Vx//fUH+LPOG6aat7vJx+74ezg6d5g6Ob7W6ptF052dl6y+Wez2Z+f6668/wJ/1zw1TQzz82sR4bTNjw5T++usP8CetDFOH6TMMi9tst51PrH4zdcHxnzDEMDv//DZHPi957dvpMyCL2xz5XH/99Qf4s5YPoI9vKc6+yZkPHzedz/4ti0HpkuM/Y+xSPPnoPcRm8eaRzUu+7dPXkwdsX/vd4s0jm+uvv/7wF40phpBCiGn9f315Pr9Nm0sjrN0iu5c8pentvvlrzjm+xtjFFEJIIYTNn4bn8pL3fZ+e2jY9te3mT8Nzuf766w9/y1AYFuT/zDAFAMB5DFMAABUMUwAAFQxTAAAVDFMAABUMUwAAFQxTAAAVDFMAABUMUwAAFQxTAAAVDFMAABUMUwAAFQxTAAAVDFMAABUMUwAAFQxTAAAVDFMAABUMUwAAFQxTAAAVDFMAABUMUwAAFQxTAAAVDFMAABUMUwAAFf4Pbli7UczRFh4AAAAASUVORK5CYII=,就是这样。但是如果我换成xp系统,就不会出现这个问题,请问各位大佬问题出在哪里?是硬盘的问题? 硬盘缓存的问题?http://bbs.pceva.com.cn/static/image/smiley/chunjie/003%201.gifhttp://bbs.pceva.com.cn/static/image/smiley/chunjie/003%201.gifhttp://bbs.pceva.com.cn/static/image/smiley/chunjie/003%201.gif

zhangboyang 发表于 2019-10-8 14:56

Windows Server 2019会自动调用内存缓冲,比方说固态往机械盘里拷1G文件,先写到内存里,再写入机械盘

guangyunjian 发表于 2019-10-8 21:15

描述不清楚,判断不了,排除法继续试

string 发表于 2019-10-9 13:34

个人猜测:操作系统缓存的缘故,数据实际还在电脑内存里,没写完之前断电,文件系统回滚操作,避免数据完整性问题。

尊称 发表于 2019-10-9 15:00

你这个断电是指什么?直接把电断了?如果这么干,那赖你,别的啥也不赖。
实时系统验证可靠性都是物理读取并校验之,然后才确认写入正确。

印第安纳琼斯 发表于 2019-10-10 00:16

电脑做错了什么,为什么要给它断电?

尊称 发表于 2019-10-10 07:52

印第安纳琼斯 发表于 2019-10-10 00:16
电脑做错了什么,为什么要给它断电?

所以说他没说清楚,如果在玩儿嵌入系统,那是另一码子事儿了。

tigerssj 发表于 2019-11-23 11:10

已经确定过是系统问题了,在win7和win10上有缓存导致的,在程序上即使用关闭了写入的文件流,硬盘上还是没有的,需要调用一个强制刷新到硬盘的程序接口才能立即写到硬盘上,但是很慢。实际测试过了。
页: [1]
查看完整版本: 一个硬盘缓存相关的问题