/proc/sys/vm/drop_caches 清理缓存

1. 使用方法

/proc/sys/vm/drop_caches默认是0

# echo 1 > /proc/sys/vm/drop_caches; free pagecache, use
# echo 2 > /proc/sys/vm/drop_caches; free dentries and inodes
# echo 3 > /proc/sys/vm/drop_caches; free pagecache, dentries and inodes

注意:使用之前需要先sync,将缓存刷到磁盘中。

2. 实验

单位:MB

# free -m
              total        used        free      shared  buff/cache   available
Mem:           1825         381        1363           8          79        1413
Swap:             0           0           0
# cp /etc/* /mytest/
# free -m
              total        used        free      shared  buff/cache   available
Mem:           1825         382        1341           8         101        1412
Swap:             0           0           0

过一段时间:

# free -m
              total        used        free      shared  buff/cache   available
Mem:           1825         382        1341           8         101        1412
Swap:             0

# cat /proc/sys/vm/drop_caches
0

# sync

# echo 3 > /proc/sys/vm/drop_caches
# free -m
              total        used        free      shared  buff/cache   available
Mem:           1825         382        1405           8          37        1413
Swap:  

3. 写个脚本做这个事情

# cat cleanup_cache.sh
#!/bin/sh
# drop_caches for every 5 mins

drop_caches() {
    echo "Drop caches."
    sync
    echo 3 > /proc/sys/vm/drop_caches &
    return 0
}

while true; do
    sleep 300
    drop_caches
done

exit 0

4. 结论

Linux内核默认保持drop_cache的值是0,不建议经常修改它。

原文地址:https://www.cnblogs.com/hellokitty2/p/10088042.html

时间: 2024-10-20 13:23:35

/proc/sys/vm/drop_caches 清理缓存的相关文章

[转]手工释放linux内存——/proc/sys/vm/drop_caches

另一篇:http://www.linuxfly.org/post/320/ ? 1.清理前内存使用情况?free -m 2.开始清理??echo 1 > /proc/sys/vm/drop_caches 3.清理后内存使用情况?free -m 4.完成! 查看内存条数命令: dmidecode?|?grep?-A16?"Memory?Device$" ? ? ? ? ? +++++++++++++++++++++++++++++++++++++++++++++++++++++++

手工释放linux内存——/proc/sys/vm/drop_caches

--手工释放linux内存--/proc/sys/vm/drop_caches 总有很多朋友对于Linux的内存管理有疑问,之前一篇日志似乎也没能清除大家的疑虑.而在新版核心中,似乎对这个问题提供了新的解决方法,特转出来给大家参考一下.最后,还附上我对这方法的意见,欢迎各位一同讨论.    当在Linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放,而是一直作为caching.这个问题,貌似有不少人在问,不过都没有看到有什么很好解决的办法.那么我来谈谈这个问题. 一.

linux /proc/sys/vm/中各个文件含义

1)      /proc/sys/vm/block_dump该文件表示是否打开Block Debug模式,用于记录所有的读写及Dirty Block写回动作. 缺省设置:0,禁用Block Debug模式2)      /proc/sys/vm/dirty_background_ratio该文件表示脏数据到达系统整体内存的百分比,此时触发pdflush进程把脏数据写回磁盘. 缺省设置:103)      /proc/sys/vm/dirty_expire_centisecs该文件表示如果脏数据

/proc/sys/vm/参数

1) /proc/sys/vm/block_dump该文件表示是否打开Block Debug模式,用于记录所有的读写及Dirty Block写回动作. 缺省设置:0,禁用Block Debug模式2) /proc/sys/vm/dirty_background_ratio该文件表示脏数据到达系统整体内存的百分比,此时触发pdflush进程把脏数据写回磁盘. 缺省设置:103) /proc/sys/vm/dirty_expire_centisecs该文件表示如果脏数据在内存中驻留时间超过该值,pd

CentOS,清理缓存(drop_caches)

读写文件时,Linux内核为了提高读写效率与速度,会将文件在内存中进行缓存,这就是Cache Memory(缓存内存).即使程序运行结束后,Cache Memory也不会自动释放.这就会导致程序频繁读写文件后,可用物理内存会很少.其实这缓存内存(Cache Memory)在你需要使用内存的时候会自动释放,所以不必担心没有内存可用.如果你希望手动去释放Cache Memory(缓存内存)的话也是有办法的. cat /proc/sys/vm/drop_caches0 //默认是0:1-清空页缓存:2

Linux 查看进程、清理缓存、查看磁盘空间、查看宽带的命令

一.查看进程 查看所有的进程命令:ps 查看指定的进程命令:ps -ef|grep java (java 指的是服务名称) 结束进程命令:kill -9  9028 (9028指的是PID) 二.清理缓存 查看缓存的命令:free -m 清理缓存的命令: echo 1 > /proc/sys/vm/drop_caches echo 2 > /proc/sys/vm/drop_caches echo 3 > /proc/sys/vm/drop_caches 三.查看磁盘空间 df -h 四

linux下清理缓存,以释放内存

[[email protected] src]# free total used free shared buffers cached Mem: 1920472 1845892 74580 180 462708 338068 -/+ buffers/cache: 1045116 875356 Swap: 0 0 0 [[email protected] ~]# sync [[email protected] ~]# echo 1 > /proc/sys/vm/drop_caches [[emai

centos清理缓存

释放网页缓存(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 原文地址:https://www.cnblog

linux /proc/sys

所有的TCP/IP调优参数都位于/proc/sys/net/目录.例如, 下面是最重要的一些调优参数,后面是它们的含义: 1./proc/sys/net/core/rmem_max — 最大的TCP数据接收缓冲 2./proc/sys/net/core/wmem_max — 最大的TCP数据发送缓冲 3./proc/sys/net/ipv4/tcp_timestamps — 时间戳在(请参考RFC 1323)TCP的包头增加12个字节 4./proc/sys/net/ipv4/tcp_sack