清理系统缓存

清理系统缓存
当服务器内存使用率高达90%以上时,且有较大耗内存操作时,可以考虑把系统的垃圾内存清理掉。方法如下

echo 3 > /proc/sys/vm/drop_caches

~ # free
      total    used       free     shared      buffers
Mem:   155728    119840      35888      176       28
-/+ buffers:        119812      35916
Swap: 0 0 0
~ # echo 3 > /proc/sys/vm/drop_caches
~ # free
    total    used       free   shared   buffers
Mem: 155728   65828   89900   176      0
-/+ buffers:        65828   89900
Swap: 0 0 0

-----------------------------------------------------------

哪里有过大?cached 和 buffers 占据 available 部分中的绝大部分是正常的。你说你的内存,free 着就是什么用处都没有,但你以为那些部分就不需要通电、刷新吗?

cached 通常属于 available 部分(该数据 3.14 内核之后提供,procps-ng 较新版本也显示),也就是可用内存。什么时候程序需要了,什么时候拿去用。暂时不需要?那我从磁盘那个慢到死的家伙里好不容易读出来的数据先留着,指不定用户还要用到呢。

有兴趣可以 echo 3 到那什么文件/proc/sys/vm/drop_caches清空一下这些部分,然后 ls /usr/lib 试试。然后立即再执行一次,是不是有缓存之后就快多了?

至于 sync 命令。它和 cached 有关,但是不是你所想的那个功能。它的功能是,把脏页写回磁盘,也就是把修改过的数据还没写到磁盘的数据写到磁盘上。因为内核会延迟提交,每次提交多积累一些数据,以提高效率、降低延迟。没有使用的必要,只会让系统卡一下而已。

原文地址:https://www.cnblogs.com/ricks/p/10337929.html

时间: 2024-11-08 12:48:20

清理系统缓存的相关文章

Android开发之清理系统缓存错误

最近在做清理系统缓存功能时,用到以下方法 PackageManager pm = context.getPackageManager(); Method localMethod = pm.getClass().getMethod("freeStorageAndNotify", Long.TYPE, IPackageDataObserver.class); Long localLong = Long.valueOf(getEnvironmentSize() - 1L); Object[]

linux清理系统缓存

Linux 内存优化. 1.清理前内存使用情况 free -m 2.开始清理 echo 1 > /proc/sys/vm/drop_caches 3.清理后内存使用情况 free -m 4.完成! 查看内存条数命令: dmidecode  |  grep-A16"MemoryDevice$" # sync # echo 1 > /proc/sys/vm/drop_caches echo 2 > /proc/sys/vm/drop_caches echo 3 >

增强织梦DedeCMS“更新系统缓存”清理沉余缓存的功能

我们使用织梦DedeCMS系统有很长一段时间后,不间断的在后台更新系统缓存的时候,有些缓存文件夹及缓存文件没有被清理,导致日积月累的垃圾缓存文件越来越多,可以以百千万计算,现在增强更新系统缓存功能清理沉余的缓存文件及文件夹. 增强织梦DedeCMS“更新系统缓存”清理沉余缓存的功能 我们使用织梦DedeCMS系统有很长一段时间后,不间断的在后台更新系统缓存的时候,有些缓存文件夹及缓存文件没有被清理,导致日积月累的垃圾缓存文件越来越多,可以以百千万计算,现在增强更新系统缓存功能清理沉余的缓存文件及

批处理清理系统垃圾

后续会补充 1======================================= @echo off title 清除垃圾,开心生活! color 0a @echo -------------------------------------------------------------------------------- @echo 垃圾清理中..... @echo ---------------------------------------------------------

linux下清理系统垃圾

可以使用以下命令清理系统垃圾sudo apt-get autoclean 清理旧版本的软件缓存sudo apt-get clean 清理所有软件缓存sudo apt-get autoremove 删除系统不再使用的孤立软件执行 sudo nautilus /boot 删除除了最新内核以外的其它文件,(比如2006-08-17 官方内核是 26,那就可以删除所有 23,25结尾的旧内核文件) 整理grub启动菜单 sudo gedit /boot/grub/menu.lst 删除除最新内核以外的其

CentOS 下如何查看并清理系统内存空间

有时候在服务器上打开了很多会占用内存的程序但关闭这些程序后,发现内存空间还是和没有关闭应用程序时的占用一样,以致使其它应用程序打开时内存不够或很卡,那么此时就想清理掉以前的程序打开时所占用的内存.而大部分都是缓存数据所占用的,那么怎样进行内存的清理呢?可以使用以下的步骤来进行内存的清理: 大多数 Linux 服务器都是默认开启了缓存机制的,查看配置文件 cat /proc/sys/vm/drop_caches 若为0的话,则表示开启了缓存机制的,这种机制在一直运行某个服务的时候非常有效,便于服务

linux系统缓存机制

1.缓存机制 为了提高文件系统性能,内核利用一部分物理内存分配出缓冲区,用于缓存系统操作和数据文件,当内核收到读写的请求时,内核先去缓存区找是否有请求的数据,有就直接返回,如果没有则通过驱动程序直接操作磁盘. 缓存机制优点:减少系统调用次数,降低CPU上下文切换和磁盘访问频率. CPU上下文切换:CPU给每个进程一定的服务时间,当时间片用完后,内核从正在运行的进程中收回处理器,同时把进程当前运行状态保存下来,然后加载下一个任务,这个过程叫做上下文切换.实质上就是被终止运行进程与待运行进程的进程切

释放Linux系统缓存

清理Linux缓存使用下面的命令 sync; echo 3 > /proc/sys/vm/drop_caches 需求与原理 下面介绍buffer与cache的差别: A buffer is something that has yet to be "written" to disk. A cache is something that has been "read" from the disk and stored for later use. buffer

Linux性能优化实战:如何利用系统缓存优化程序的运行效率?(17)

一.缓存命中率 1.引子 1.我们想利用缓存来提升程序的运行效率,应该怎么评估这个效果呢? 用衡量缓存好坏的指标 2.有没有哪个指标可以衡量缓存使用的好坏呢? 缓存命中率 3.什么是缓存命中率? 所谓缓存命中率,是指直接通过缓存获取数据的请求次数,占所有数据请求次数的百分比.命中率越高,表示使用缓存带来的收益越高,应用程序的性能也就越好 2.查看系统命中情况的工具 1.缓存在高并发系统的应用 实际上.缓存是现在所有高并发系统必须的核心模块,主要作用就是把经常访问的数据(也就是热点数据),提取读入