![Ubuntu 监控的内存使用情况](https://linux22.com/image/1533958/Ubuntu%20%E7%9B%91%E6%8E%A7%E7%9A%84%E5%86%85%E5%AD%98%E4%BD%BF%E7%94%A8%E6%83%85%E5%86%B5.png)
我在 Ubuntu(Kbuntu)上运行 Java 应用程序。64G 内存。该应用程序需要运行一段时间来处理数据。
系统监视器显示该应用程序使用了大约 10G 内存。
但是在KInfocenter中,64G内存中只有20G是空闲的,31G被用作Disk Cache,Swap更是少之又少。
那么磁盘缓存是什么?为什么它占用这么多?这是正常的吗?
答案1
这是 UNIX/Linux 的标准行为。操作系统尝试从内存中尽可能多地使用文件系统缓存。
当你运行需要超过 20GB(可用内存)的应用程序时,操作系统将释放一些缓存内存并将其提供给应用程序