我是靠谱客的博主 追寻绿茶,最近开发中收集的这篇文章主要介绍linux清空buff,Linux中buff,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

66b52468c121889b900d4956032f1009.png

8种机械键盘轴体对比

本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?

简介

使用free -h命令可以查看当前系统的内存使用情况1

2

3total used free shared buff/cache available

Mem: 1.8G 1.4G 66M 952K 313M 211M

Swap: 0B 0B 0B

available表示应用程序还可以申请到的内存

首先了解下两个概念buff和cachebuff(Buffer Cache)是一种I/O缓存,用于内存和硬盘的缓冲,是io设备的读写缓冲区。根据磁盘的读写设计的,把分散的写操作集中进行,减少磁盘碎片和硬盘的反复寻道,从而提高系统性能。cache(Page Cache)是一种高速缓存,用于CPU和内存之间的缓冲 ,是文件系统的cache。

把读取过的数据保存起来,重新读取时若命中(找到需要的数据)就不要去读硬盘了,若没有命中就读硬盘。其中的数据会根据读取频率进行组织,把最频繁读取的内容放在最容易找到的位置,把不再读的内容不断往后排,直至从中删除。

它们都是占用内存。两者都是RAM中的数据。简单来说,buff是即将要被写入磁盘的,而cache是被从磁盘中读出来的。

目前进程正在实际被使用的内存的计算方式为used-buff/cache,通过释放buff/cache内存后,我们还可以使用的内存量free+buff/cache。通常我们在频繁存取文件后,会导致buff/cache的占用量增高。

处理方式

手动清除

执行以下命令即可1

2

3

4[[email protected] ~]# echo 1 > /proc/sys/vm/drop_caches

[[email protected] ~]# echo 2 > /proc/sys/vm/drop_caches

[[email protected] ~]# echo 3 > /proc/sys/vm/drop_caches

sync:将所有未写的系统缓冲区写到磁盘中,包含已修改的i-node、已延迟的块I/O和读写映射文件

echo 1 > /proc/sys/vm/drop_caches:清除page cache

echo 2 > /proc/sys/vm/drop_caches:清除回收slab分配器中的对象(包括目录项缓存和inode缓存)。slab分配器是内核中管理内存的一种机制,其中很多缓存数据实现都是用的pagecache。

echo 3 > /proc/sys/vm/drop_caches:清除pagecache和slab分配器中的缓存对象。

/proc/sys/vm/drop_caches的值,默认为0

定时清除

1、创建脚本cleanCache.sh1

2

3

4

5

6

7#!/bin/bash#每两小时清除一次缓存

echo "开始清除缓存"

sync;sync;sync #写入硬盘,防止数据丢失

sleep 10#延迟10秒

echo 1 > /proc/sys/vm/drop_caches

echo 2 > /proc/sys/vm/drop_caches

echo 3 > /proc/sys/vm/drop_caches

2、创建定时任务1crontab -e #弹出配置文件

3、添加定时任务执行频率1

2#分  时  日  月  周  命令

0 */2 * * * ./cleanCache.sh

4、设置crond启动以及开机自启1

2systemctl start crond.service

systemctl enable crond.service

5、查看定时任务是否被执行1cat /var/log/cron | grep cleanCache

参考资料

最后

以上就是追寻绿茶为你收集整理的linux清空buff,Linux中buff的全部内容,希望文章能够帮你解决linux清空buff,Linux中buff所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部