为什么ubuntu好像没有释放内存?

为什么ubuntu好像没有释放内存?

我正在使用 apache2+php 和其他 web 服务器应用程序。

我将监视器作为会话连接到 Web 服务器。RAM 内存已满。

但是断开会话时,它不会释放 RAM 内存。

我已经通过监视器free -m,并且即使现在没有连接的会话它也显示未释放的内存。

有解决办法吗?

答案1

您可以使用以下命令释放未使用的内存:

sudo sync && sudo sysctl -w vm.drop_caches=3

此命令同步缓存数据,然后在运行时写入位于/proc/sys/vm/drop_caches. 该参数被内核读取一次,然后释放未使用的内存。

基本上,内核在缓存中保留了三个部分,这可能会增加内存使用量:

  • 页面缓存
  • 牙齿
  • 索引节点

写入此参数将导致内核从 RAM 中删除干净的页面缓存、目录项和 inode,从而使该内存变为空闲。可以分配三个值:

  1. vm.drop_caches=1 免费的页面缓存。
  2. vm.drop_caches=2 空闲的 dentry 和 inode。
  3. vm.drop_caches=3 释放页面缓存、目录项和索引节点。

重要的: 执行后,这将恢复正常状态,这意味着再次开始缓存页面缓存、dentry 和 inode。根据您的服务器配置和应用程序使用它。

相关内容