乱读天书, 不求甚解
周祎骏的个人云笔记
Toggle navigation
乱读天书, 不求甚解
主页
Linux:系统配置
Linux:用户管理
Linux:优化排错
Linux:进程调度
Linux:文件系统
Linux:网络
Linux:系统服务
Linux:安全
Linux:内核
容器:Docker
容器:containerd
容器编排:Kubernetes
IAC:Terraform
大数据:Hadoop
大数据:Zookeeper
大数据:Hbase
消息队列:rsyslog
消息队列:kafka
数据库:MySQL
数据库:MongoDB
搜索引擎:Elasticsearch
时序数据库:OpenTSDB
网站服务:Nginx
编程:Bash
编程:Perl
编程:Python
编程:C
编程:JAVA
编程:Rust
版本控制:gitlab
知识管理:docusaurus
常用小工具
关于我
标签
Linux优化排错 1.11 内存 关于清理cache
2017-08-16 12:53:36
52
0
0
admin
> 前文说"可用内存=空闲内存+buffer+cache",不一定对。这里介绍主动清理cache的方式和不能清理cache 的情况 **清理缓存不好玩,肯定会增加系统IO负担,三思而后行** # echo 1 > /proc/sys/vm/drop_caches #清理pagecache * 释放被cache的内存,但是不会释放脏数据占用的内存,所以跑这个命令前跑一下sync效果更好 * 由于tmpfs 属于cache,而tmpfs是无法“释放”的,所以如果用户大量使用tmpfs的话,这样做效果不大 * **/dev/shm**,**共享内存**,**消息队列**,**信号量数组**都用到了tmpfs技术,所以他们占用的内存都无法容易的释放,除非使用他们的进程主动释放他们。 *** # echo 2 > /proc/sys/vm/drop_caches #清理目录项缓存和inode缓存 * 这是内核对文件目录结构的缓存,被内核使用,记录的slab中,不属于某一个进程。被记入used 的内存而不是buffer/cache。 * 可以用以下方式查看 ``` [root@test1 ~]# cat /proc/slabinfo |egrep '^(dentry|inode_cache)' inode_cache 6292 6306 592 6 1 : tunables 54 27 0 : slabdata 1051 1051 0 dentry 9791 9800 192 20 1 : tunables 120 60 0 : slabdata 490 490 0 ``` *** # echo 3 > /proc/sys/vm/drop_caches #清理pagecache和目录项缓存和inode缓存
上一篇:
Linux优化排错 1.10 内存
下一篇:
Linux优化排错 1.12 Overcommit 和 OOM_Killer
文档导航