今天在做分布式系统文件写入及读取测试时,发现写入大量的文件后,内存中cache中的数值很大,这对使用同一台机器调研其它的分布式文件系统来说,内存条件没有达到一致,会影响测试的结果。
上网查了关于Linux cache占用大的原因:
当linux第一次读取一个文件时,一份放到内存中cache起来,另一份放入运行程序的内存中,正常运行,当程序运行完闭后,Cache中的那一份文件却没有释放,第二次运行的时候,系统首先查看在内存中是否有次运行时存在cache中的副本,如果有的话,直接从内存中读取,已达到提高速度的目的。
具体的清空cache的步骤:
1. 查看/proc/sys/vm/drop_caches的值(默认是0)
cat /proc/sys/vm/drop_caches
2. 手动执行sync命令(sync 命令将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node、已延迟的块 I/O 和读写映射文件)
sync
3. 手动修改/proc/sys/vm/drop_caches值为3
echo
3
> /proc/sys/vm/drop_caches
参数说明:
参数值说明
To free pagecache: * echo 1 > /proc/sys/vm/drop_caches
To free dentries(dentry索引结点的链接) and inodes: * echo 2 > /proc/sys/vm/drop_caches
To free pagecache, dentries and inodes: * echo 3 > /proc/sys/vm/drop_caches
dentries and inodes concepts
相关推荐
我们通过free命令查看机器空闲内存时,会发现free的值很...这主要是因为,在linux中有这么一种思想,内存不用白不用,因此它尽可能的cache和buffer一些数据,以方便下次使用。但实际上这些内存也是可以立刻拿来使用的。
Linux内核内存Cache机制原理从源码的角度来分析流程,可以帮助Linux内核学习者了结Cache的内存机制!
去掉^M的版本 博文链接:https://phl.iteye.com/blog/2242033
安装此工具后,可以查看系统内存中 cache 包含的文件。 在编译安装此工具之前需要安装GCC包
在linux的内存分配机制中,优先使用物理内存,当物理内存还有空闲时(还够用),不会释放其占用内存,就算占用内存的程序已经被关闭了,该程序所占用的内存用来做缓存使用,对于开启过的程序、或是读取刚存取过得...
Linux操作系统中内存buffer和cache的区别.pdf
解决 linux下 buff/cache 占用过高的问题解决 linux下 buff/cache 占用过高的问题
Linux的产生与发展,更多的应用与服务器,那么对于Linux的各个管理机制要非常清 楚,一个完整的Linux系统主要有存储管理,内存管理,文件系统和进程管理等几...本文将为大家介绍Linux内存中Swap和Buffer Cache机制。
Linux操作系统中内存buffer和cache的区别.docx
Linux支持虚拟内存(Virtual M...通过将信息从磁盘上仅读入一次并将其存于内存中,除了第一次读以外,可以加快所有其它读的速度。这叫作磁盘缓冲(Disk Buffering),被用作此目的的内存称为高速缓冲(Buffer Cache)。
linux核心中的内存管理和缓冲机制
Cache Server内存数据库将数据存储于物理内存中并进行高速处理及操作,并 针对内存数据库的特点进行了优化,采用先进的体系架构、数据缓存、快速算 法、并行操作、异步处理技术。 Cache Server提供了和传统关系...
自从诞生以来,Linux 就被不断完善和普及,目前它已经成为主流通用操作系统之一,...本文介绍一下 Linux 内核中文件 Cache 管理的机制。以 2.6 系列内核为基准,主要讲述工作原理、数据结构和算法,不涉及具体代码。
关于linux的cache管理的介绍
linux 清理内存命令 1.清理前内存使用情况 free -m 2.开始清理 echo 1 > /proc/sys/vm/drop_caches 3.清理后内存使用情况 free -m 4.完成! 查看内存条数命令: # sync # echo 1 > /proc/sys/vm/drop_caches ...
linux系统中通常使用free命令来查看内存使用情况,free命令主要是从/proc/meminfo文件中读取的内存数据然后进行简单处理进行展示,根据查看free命令的手册了解到各个字段的含义。 total:系统总内存大小...
介绍linux的cache机制,包含一些代码,需要了解的,自取
介绍了DMA和cache的关系和内在原理,内核中流式DMA结构的介绍和使用
当你在linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放,而是一直作为caching.这个问题,貌似有不少人在问,不过都没有看到有什么很好解决的办法.那么我来谈谈这个问题
主要介绍了Spring Cache手动清理Redis缓存,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下