关于服务器内存清理不掉的问题

今天登录服务器,发现怎么清理cache内存,服务器内存始终都不释放,很是纳闷,黑人问号???

一直使用 echo 3 > /proc/sys/vm/drop_caches  命令清理内存,发现内存 一直都是在698M。

 

 

1、开始分析问题,使用top命令查看。

2、然后 shift+m 按内存占用大小排序。

3、发现原来是pgsql数据库一直在占用内存。

4、查阅有关pgsql占用内存的资料,发现,果然在pgsql数据库中有一个shared_buffers的配置。(shared_buffers:这是数据库服务用于共享内存缓冲区的大小。如果这个值太低,数据库会使用更多的磁盘,这会导致更慢,但如果它太高,可能会产生高内存利用率。根据文档,如果您有一个具有 1GB 或更大 RAM 的专用数据库服务器,shared_buffers 的合理起始值是系统内存的 25%)

5、登录pgsql数据库,切换到postgres用户。

su - postgres

6、修改数据库文件

          vim  /data/postgresql/postgresql-11.6/data/postgresql.conf

          shared_buffers = 32GB

          (因为服务器内存为128GB,而shared_buffers 的合理起始值是系统内存的 25%,故在这里设置为32GB)

7、重启pgsql服务,然后清理内存。

           systemctl restart pgsql

           echo 3 > /proc/sys/vm/drop_caches  

 

8、发现内存果然已经成功释放了。

 

刚看到一个关于猫猫的文案,分享出来一起看。

 

配上猫猫这个表情,真的是绝了

 

            

posted @ 2023-02-06 15:34  宝英姐姐  阅读(195)  评论(0编辑  收藏  举报