`
zhao_rock
  • 浏览: 190130 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

Linux手动清理内存中的cache信息

阅读更多

今天在做分布式系统文件写入及读取测试时,发现写入大量的文件后,内存中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

 

 

 

  • 大小: 50.2 KB
0
1
分享到:
评论

相关推荐

    Linux驱动中的DMA和Cache一致性问题

    例如,在DMA传输之前,通过软件指令清除Cache中相应数据的缓存,或者在DMA传输之后,确保数据已经从Cache同步到主内存中。这些操作通常涉及特定的编程接口,如x86架构下的WBINVD指令,用于在Cache和内存之间同步数据...

    解决 linux 下 buffcache 占用过高的问题.docx

    3. 手动清理:如描述中提到,可以通过执行 `sync && echo 3 > /proc/sys/vm/drop_caches` 来强制释放缓存。但请注意,这可能会暂时影响系统性能,因为缓存的存在就是为了加速访问,直接清空可能导致后续的I/O操作变...

    linux 内存清理/释放命令总结

    然而,在某些特殊场景下,如进行大规模的测试或临时性的资源优化时,可能需要手动清理内存中的缓存来释放更多的可用内存空间。本文将详细介绍Linux内存清理与释放的相关命令及其使用方法。 #### 重要概念 在深入...

    手工释放linux内存.pdf

    Linux内存管理机制的一个显著特点是充分利用空闲内存作为缓存(包括Buffer Cache和Page Cache)。这样做能够极大地提高磁盘I/O效率,从而提升应用程序的整体性能。但是,这种设计也可能会让初学者感到困惑,尤其是在...

    hcache Linux系统buff/cache过高问题处理

    3. **手动清理缓存**:如果需要立即释放内存,可以使用`sync`命令同步文件系统,然后使用`echo 3 > /proc/sys/vm/drop_caches`来清除缓存。但这应谨慎操作,因为可能会暂时影响系统性能。 4. **自动内存管理策略**...

    手动释放Linux服务器内存(具体操作步骤)

    在Linux服务器管理中,了解如何手动释放内存是十分重要的,特别是在服务器资源紧张的情况下。本文将详细解释手动释放Linux服务器内存的具体操作步骤,并分析其背后的工作原理。 首先,当Linux服务器发现内存不足时...

    linux 清理内存命令详细介绍

    ### Linux清理内存命令详解 #### 一、引言 在Linux环境下,良好的内存管理对于保持系统的稳定性和性能至关重要。本文将详细介绍如何通过特定命令来清理Linux系统的内存,并解释相关命令的作用机理及其应用场景。 ...

    svn之——linux下清除svn的用户名和密码.rar

    在Linux中,这些信息通常被保存在名为`.subversion`的隐藏目录下,位于用户的主目录中。该目录下的`auth`子目录包含了具体的认证数据文件,其中`sso-cache`文件(或`sasl2`目录,取决于你的Subversion版本)保存了...

    Linux-定期清内存缓存-shell脚本

    - 使用`/proc/sys/vm/drop_caches`文件可以手动清理缓存。 2. **`free`命令详解**: - `free -m`显示内存使用情况,其中 `-m` 表示以MB为单位显示。 - 输出结果包括总内存、已用内存、空闲内存等。 3. **`awk`...

    electron-builder 在window上编译时所需文件,直接解压,再将文件名改为cache

    4. **处理 cache 目录**:在某些情况下,你可能需要清理或更新 `cache` 目录。例如,当遇到依赖升级、证书更新等问题时,删除 `node_modules` 和 `cache` 目录,然后重新运行构建命令可以帮助解决这些问题。 5. **...

    nginx-1.0.12_ngx-cache-purge1.5.tar.gz

    通过 ngx_cache_purge,管理员可以设置规则,当某些URL发生改变时,自动或手动清除相关的缓存条目,确保用户总是得到最新的信息。 在安装和使用 "nginx-1.0.12_ngx-cache-purge1.5.tar.gz" 包之前,你需要确保系统...

    linux下squid的安装,配置,卸载及SNMP的安装配置

    4. 清除RPM数据库中的Squid信息:`rpm -e --justdb squid` 5. 删除Squid用户和组:`userdel squid` 和 `groupdel squid` **Squid的安装** 1. 在安装Linux系统时,选择自定义安装,确保包含开发工具包和Web服务器...

    内存泄漏:Python中的隐蔽陷阱与应对策略

    2. **自动内存管理**:Python具有自动内存管理和垃圾回收机制,这使得开发者无需手动管理内存分配和释放,简化了开发过程。 3. **大型标准库**:Python拥有一个庞大的标准库,为开发者提供了大量的内置函数和模块,...

    以Ubuntu为例:清理linux系统的"垃圾"文件.docx

    另外,Linux系统中还有一些特定的清理任务,比如/var/spool/clientmqueue目录下的邮件队列文件,这些可能在邮件发送失败后残留,可以安全删除。对于启动项的管理,可以通过一些工具进行优化,减少不必要的开机启动...

    wordpress4.9 linux

    【WordPress在Linux环境下的搭建与管理】 WordPress,作为全球最受欢迎的开源内容管理系统(CMS),以其易用性、灵活性和强大的功能赢得了广大用户的喜爱。它基于PHP编程语言,并依赖于MySQL数据库来存储和检索数据...

    mysql5.5 linux版

    首先,Linux发行版通常不包含最新版本的MySQL,因此我们需要手动下载并安装。`mysql-5.5.59-linux-glibc2.12-x86_64`是适用于64位Linux系统的二进制包,它包含了所有必要的文件和服务脚本,以便在系统上运行MySQL。...

    清理Linux系统垃圾文件操作方法图文步骤详解.docx

    通过以上介绍的方法,我们可以有效地管理和清理Linux系统中的各种垃圾文件,从而释放磁盘空间并提高系统性能。每种命令都有其特定的应用场景,根据实际需求选择合适的命令来进行清理操作。定期进行这类维护工作对于...

    清理自己的ubuntu(穷折腾、瞎起劲)

    5. 手动清理下载目录:`/var/cache/apt/archives/`通常存放下载的软件包,定期检查并删除无用的文件也是个好习惯。 6. 使用系统工具:例如Ubuntu的“垃圾箱”应用,可以像在Windows或Mac上一样清理临时文件和垃圾。...

    ubuntu一句话技巧--Linux入门(给新手)

    清理旧版本的软件缓存,使用`sudo apt-get autoclean`,而清除所有软件缓存则用`sudo apt-get clean`。若要删除不再使用的孤立软件,运行`sudo apt-get autoremove`。 接下来,我们了解如何查看系统硬件信息。`...

Global site tag (gtag.js) - Google Analytics