Linux释放SWAP的方法

建站交流10年前 (2014-11-21)15030

 在LINUX系统维护中,往往会看到系统内存使用率很高,但是业务繁忙率却不是很高、或者是业务进程或者是有效进程均已不在了。因此我们就需要释放一些内存来缓解系统压力或者是清扫系统内存垃圾。
【产生原因】
         1、系统进程僵死,资源未有效释放;
         2、业务进程设计缺陷,由BUG导致;
         3、数据的大量写、大量读取
         4、客观业务事实
【处理方法】
         通过人为方法干预操作系统内核对内存的管理
【处理步骤】
          第一步:执行命令<sync>,完成内存缓存区(buffers cache)有效数据向外设的存储。
                         #sync
                        #sync
          第二步:修改内核对内存的管理(主要是内存数据的清理)
                       # echo 3 > /proc/sys/vm/drop_caches         //默认为0
                 注释:
                      有关/proc/sys/vm/drop_caches的用法见本文末尾【/proc/sys/vm/drop_caches的用法】
          第三步:查看内存失败结果
                       #free -m 
          第四步:还原内核内存管理机制
                      # echo 0 > /proc/sys/vm/drop_caches         
【/proc/sys/vm/drop_caches的用法】
         /proc/sys/vm/drop_caches (since Linux 2.6.16)Writing  to  this  file  causes the kernel to drop clean caches,dentries and inodes       from memory, causing that memory  to  becomefree.
    To free pagecache,  use  echo 1 > /proc/sys/vm/drop_caches;
    To free dentries and inodes, use echo 2 > /proc/sys/vm/drop_caches;
    To free pagecache, dentries and inodes, use echo 3  >/proc/sys/vm/drop_caches.  Because this is a non-destructive operation  and  dirty  objects

标签: swaplinux优化

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。