Chinaunix首页 | 论坛 | 博客
  • 博客访问: 52086
  • 博文数量: 23
  • 博客积分: 1415
  • 博客等级: 上尉
  • 技术积分: 281
  • 用 户 组: 普通用户
  • 注册时间: 2006-08-04 16:00
文章分类

全部博文(23)

文章存档

2014年(19)

2008年(1)

2007年(3)

我的朋友

分类: LINUX

2014-04-21 16:58:16

【背景】
           在LINUX系统维护中,往往会看到系统内存使用率很高,但是业务繁忙率却不是很高、或者是业务进程或者是有效进程均已不在了。因此我们就需要释放一些内存来缓解系统压力或者是清扫系统内存垃圾。
【产生原因】
         1、系统进程僵死,资源未有效释放;
         2、业务进程设计缺陷,由BUG导致;
         3、数据的大量写、大量读取
         4、客观业务事实
【处理方法】
         通过人为方法干预操作系统内核对内存的管理
【处理步骤】
          第一步:执行命令,完成内存缓存区(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

阅读(10325) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~