清除linux内存buff/cache

news/2025/2/1 15:40:31/

buff/cache内存占用太高

使用服务器时感觉到明显卡顿,输入free -h命令查看内存占用

[root@shanghai mysql8] free -htotal        used        free      shared  buff/cache   available
Mem:           1.8G        846M        108M         29M        882M        772M
Swap:            0B          0B          0B

buffer和cache产生的原因

当你的服务进程在对文件进行读写的时候,Linux内核为了提高服务的读写速度,则将会把文件放在此处的 buffer/cache 中进行缓存使用,
由于 Linux服务的特点便是任何事物都会以文件的形式进行存在,所以你会发现不管你是否对文件做了大规模的读写,
机器的 buffer/cache 是一直都存在的,并且持续的增高不下,这是因为服务器所产生的网络连接也好,
用户协议的(UDP)套接字也好,这部分的数据系统都会为应用程序创建对应的文件描述符,
而这些文件描述符的使用,则又都会重新进入 buffer/cache 中做读写使用,所以这也是你的机器始终都会存在较高 buffer/cache 的原因

简单来说,buff是即将要被写入磁盘的,而cache是被从磁盘中读出来的。

输入清理代码,将缓存写到磁盘

# 将所有未写的系统缓冲区写到磁盘中
sync
# 清除page cache
echo 1 > /proc/sys/vm/drop_caches
# 清除回收slab分配器中的对象(包括目录项缓存和inode缓存)。slab分配器是内核中管理内存的一种机制,其中很多缓存数据实现都是用的pagecache。
echo 2 > /proc/sys/vm/drop_caches
# 清除pagecache和slab分配器中的缓存对象。
# /proc/sys/vm/drop_caches的值,默认为0
echo 3 > /proc/sys/vm/drop_caches

清除buff/cache后,查看内存占用

输入free -h命令查看内存占用

[root@shanghai mysql8] free -htotal        used        free      shared  buff/cache   available
Mem:           1.8G        847M        812M         29M        177M        810M
Swap:            0B          0B          0B

http://www.ppmy.cn/news/489451.html

相关文章

清除linux下的cache内存

查询内存剩余情况 free -m -h 查询结果: 可以看到Mem那行剩余内存是439G,但总剩余内存确有442G,其中有3.3G内存是cache内存。有时跑完程序会有很多内存仍然在cache内存中没有释放,有时会导致后面跑程序内存不够用。这时可以执…

浏览器缓存(一):强缓存 MEMORY CACHE 和 DISK CACHE

关于memory cache 和 disk cache 随便浏览一个网站: 首次打开,或者开启浏览器的 Disable Cache(浏览器的Network下, 与Preserve log同级别),在size 一栏会显示资源大小。 在关闭 Disable Cache 的情况下…

缓存Cache详解

全面介绍有关 缓存 cache以及利用PHP写缓存caching的技术。 一、什么是缓存Cache? 为什么人们要使用它? 一个使用缓存Cache的站点会监听客户端向服务器端发出的请求,并保存服务器端的回应——比如HTML页面、图片等文件。接着,如果有另外一个使用相同…

Linux清除缓存buff/cache

使用free -h 查看内存情况发现buff/cache缓存占用太多了 导致我hive都跑不动 原因: buff/cache是由于系统读写导致的文件缓存,没有及时释放 办法:清除缓存 # 这个drop_caches文件可以设置的值分别为1、2、3\ echo 1 > /proc/sys/vm/drop_c…

C++基础(7)——类和对象(继承)

前言 本文主要介绍C中的继承 4.6.1:继承和继承方式(公有、保护、私有) 4.6.2:继承中的对象模型,sizeof()求子类对象大小 4.6.3:子类继承父类后,两者构造和析构顺序 父类先构造、子类先析构 如…

清除Cache缓存

/// <summary> /// 清除所有Cache缓存/// </summary> public static void RemoveAllCache() {try{Cache _cache HttpRuntime.Cache;//获取当前运行程序的System.Web.Caching.Cache//枚举非泛型字典的元素IDictionaryEnumerator CacheEnum _cache.GetEnumerator()…

清除服务器缓存办法

清除服务器缓存办法//在ashx文件中写方法 /// <summary>/// ServerMgr 的摘要说明/// </summary>public class ServerMgr : IHttpHandler{public void ProcessRequest(HttpContext context){object returnObj "";string method context.Request["…

清除cache

总有很多朋友对于Linux的内存管理有疑问&#xff0c;之前一篇[转]理解Linux的性能日志似乎也没能清除大家的疑虑。而在新版核心中&#xff0c;似乎对这个问题提供了新的解决方法&#xff0c;特转出来给大家参考一下。最后&#xff0c;还附上我对这方法的意见&#xff0c;欢迎各…