![Ubuntu 拒绝在内存缓存中存储 200 Mb 的文件,但内存缓存中有足够的空间](https://linux22.com/image/1138173/Ubuntu%20%E6%8B%92%E7%BB%9D%E5%9C%A8%E5%86%85%E5%AD%98%E7%BC%93%E5%AD%98%E4%B8%AD%E5%AD%98%E5%82%A8%20200%20Mb%20%E7%9A%84%E6%96%87%E4%BB%B6%EF%BC%8C%E4%BD%86%E5%86%85%E5%AD%98%E7%BC%93%E5%AD%98%E4%B8%AD%E6%9C%89%E8%B6%B3%E5%A4%9F%E7%9A%84%E7%A9%BA%E9%97%B4.png)
编辑:我刚刚将内存分配增加到 2 GB,并在运行脚本时查看了系统监视器,结果发现,仅加载一个 200 MB 的文件,内存使用量就从 500 MB 飙升至 1.6 GB,所以这有点像是内存不足的问题。缓存现在工作正常,有足够的空间,所以问题解决了。
我在 Virtual Box 中使用 Ubuntu 14.04,它分配了 1.5 GB 内存和 20 GB 硬盘。当我使用 Python 脚本加载一个 ~75 MB 的文件时,第一次运行脚本时计算机正在从硬盘读取,这需要几秒钟,但当我再次运行它时,文件仍被缓存,因此它几乎立即运行,不占用硬盘。但是当我尝试在 ~200 MB 的文件上运行相同的脚本时,它会经历加载阶段然后运行,但是当我再次运行它时,它会再次经历加载阶段,硬盘使用率相同。有什么方法可以让它将文件存储在缓存中,还是发生了其他问题?
感谢任何能提供帮助的人!
答案1
原来我根本就没有可用内存,200 MB 的文件不知何故占用了 1.1 GB 的空间。我通过增加虚拟机的内存限额解决了这个问题。