扩展阅读
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux c字符串中不可打印字符转换成16进制
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • linux命令大全详细分类介绍及常用linux命令文档手册下载
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在没有linux的盘,只有DOS启动盘)
  • Linux Kernel 'sctp_v6_xmit()'函数信息泄露漏洞
  • 如何让win2000和linux共存。我装好WIN2000,再装LINUX7.0,但LILO只能找到LINUX,不能引导WIN2000
  • linux c下利用srand和rand函数生成随机字符串
  • 在windows中的VMware装了个linux,主板有两个串口,能做windows和linux的串口通信测试么,怎么测试这两个串口在linux是有效
  • Linux c++虚函数(virtual function)简单用法示例代码
  • 我们网站的服务器从windows2000迁往linux,ASP程序继续使用,可是我连LINUX的皮毛都不了解,大家告诉我LINUX下怎么建网站??
  • Docker官方镜像将会使用Alpine Linux替换Ubuntu
  • 中文Linux与西文Linus分别哪一个版是权威?I认为是:中科软的白旗Linux与西文的绿帽子Linux!大家的看法呢?
  • Linux下chmod命令详细介绍及用法举例
  • Windows2000和Linux双操作系统,Linux系统有问题,我直接把Linux分区删除后,Windows2000进不去了,怎么办???
  •  
    当前位置:  操作系统>Linux

    Linux/Centos/Ubuntu清除系统缓存释放内存命令介绍

     
        发布时间:2013-11-27  


        本文导语: 相关概念介绍1. drop_caches在Documentation/sysctl/vm.txt中有如下描述:drop_caches:Writing to this will cause the kernel to drop clean caches, dentries and inodes from memory, causing that memory to become free.To free pagecache: echo 1 > /proc/sys/vm/drop_cachesTo free dentries and ino...

    相关概念介绍

    1. drop_caches

    Documentation/sysctl/vm.txt中有如下描述:

    drop_caches:Writing to this will cause the kernel to drop clean caches, dentries and inodes from memory, causing that memory to become free.

    To free pagecache:

    echo 1 > /proc/sys/vm/drop_caches

    To free dentries and inodes:

    echo 2 > /proc/sys/vm/drop_caches

    To free pagecache, dentries and inodes:

    echo 3 > /proc/sys/vm/drop_caches

    As this is a non-destructive operation and dirty objects are not freeable, the user should run `sync' first.

    2. cachebuffer区别

      Cache:高速缓存,是位于CPU与主内存间的一种容量较小但速度很高的存储器。由于CPU的速度远高于主内存,CPU直接从内存中存取数据要等待一定时间周期,Cache中保存着CPU刚用过或循环使用的一部分数据,当CPU再次使用该部分数据时可从Cache中直接调用,这样就减少了CPU的等待时间,提高了系统效率。Cache又分为一级Cache(L1 Cache)和二级Cache(L2 Cache),L1 Cache集成在CPU内部,L2 Cache早期一般是焊在主板上,现在也都集成在CPU内部,常见的容量有256KB或512KB L2 Cache。

      Buffer:缓冲区,一个用于存储速度不同步的设备或优先级不同的设备之间传输数据的区域。通过缓冲区,可以使进程之间的相互等待变少,从而使从速度慢的设备读入数据时,速度快的设备的操作进程不发生间断。

      Free中的buffer和cache:(它们都是占用内存):

      buffer : 作为buffer cache的内存,是块设备的读写缓冲区

      cache: 作为page cache的内存, 文件系统的cache

      如果 cache 的值很大,说明cache住的文件数很多。如果频繁访问到的文件都能被cache住,那么磁盘的读IO bi会非常小。

    Linux/Centos/Ubuntu清除系统缓存释放内存命令具体操作步骤

      为了提高磁盘存取效率,Linux做了一些精心的设计,除了对dentry进行缓存(用于VFS,加速文件路径名到inode转换),还采取了两种主要 Cache方式:Buffer Cache和Page Cache。前者针对磁盘块的读写,后者针对文件inode的读写。这些Cache有效缩短了 I/O系统调用(比如read,write,getdents)的时间。linux内存可使用的计算方法:可用内存=free+buffers+cached,清理缓存按如下顺序操作即可:

    1、当前内存使用情况:free

            total    used         free     shared   buffers     cached

    Mem:      12296092   11812364     483728          0     390868   10336804

    -/+ buffers/cache:    1084692   11211400

    Swap:      8385920        164    8385756


    free命令解释:

    total 内存总数

    used 已经使用的内存数

    free 空闲的内存数

    shared 多个进程共享的内存总额

    buffers Buffer Cache和cached Page Cache 磁盘缓存的大小

    -buffers/cache 的内存数:used - buffers - cached

    +buffers/cache 的内存数:free + buffers + cached

    2、sync(sync 命令运行 sync 子例程。如果必须停止系统,则运行 sync 命令以确保文件系统的完整性。sync 命令将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node、已延迟的块 I/O 和读写映射文件,一定要在第3步之前运行这个命令)

    3、echo 3 > /proc/sys/vm/drop_caches

    4、查看内存使用情况:free

            total      used      free        shared    buffers     cached

    Mem:      12296092     890740   11405352          0       3012     131116

    -/+ buffers/cache:     756612   11539480

    Swap:      8385920        164    8385756

    5、echo 0 > /proc/sys/vm/drop_caches  

       这是一种比较常用的释放缓存的建议 iis7站长之家,但是建议还是不要经常使用,如果swap没有使用很多的情况下,可以不做任何操作,以保证系统稳定运行,一但swap开始使用了,就考虑分析程序或者增加物理内存吧。一般情况下,应用在系统上稳定运行了,free值也会保持在一个稳定值的,虽然看上去可能比较小。当发生内存不足、应用获取不到可用内存、OOM错误等问题时,还是更应该去分析应用方面的原因,如用户量太大导致内存不足、发生应用内存溢出等情况,否则,清空buffer,强制腾出free的大小,可能只是把问题给暂时屏蔽了。


    • 本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
      本站(WWW.)站内文章除注明原创外,均为转载,整理或搜集自网络.欢迎任何形式的转载,转载请注明出处.
      转载请注明:文章转载自:[169IT-IT技术资讯]
      本文标题:Linux/Centos/Ubuntu清除系统缓存释放内存命令介绍
    相关文章推荐:
  • linux内存释放
  • LINUX源码释放磁盘页面的问题
  • linux下如何释放ip和重新自动获得ip
  • 在Linux上用C语言编写的函数里面申请了一块内存,并且返回这块内存,最终它需要释放吗?
  • linux 开发程序的内存释放问题
  • linux 资源紧张,如何查看并释放?
  • linux下信号量的释放的问题
  • linux中用killall命令杀死进程的时候会释放掉该进程所占有的内存吗?
  • linux 系统rm 删除文件后,磁盘空间不释放
  • 关于端口绑定(linux为服务端,windows为客户端)后无法立即释放的问题
  • 在linux下,进程非正常退出时,怎样释放掉已经生成的资源?
  • 为什么linux下进程结束后,需要使用wait或者waitpid释放资源?
  • Linux上手动释放Swap内存
  • linux动态创建线程,在该线程结束前不会再次创建,每次线程运行结束后,似乎内存都不会主动释放,再次创建内存会不断增加
  • linux怎么无法释放磁盘空间?
  • linux下recvfrom阻塞状态下退出的问题和pthread_detach后的线程退出了以后线程资源的释放问题?
  • 在Linux上用C语言作了一个程序,程序中申请(malloc)了很大的内存,但是没free,当程序运行结束后,内存是否自动释放?
  • red linux 8.0被占用的内存无法释放是怎么回事?
  • 关于redhat Linux ,g++下stl库map内存释放的问题
  • linux内核里面频繁分配和释放空间造成的系统奔溃


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3