Fork me on GitHub

Linux清理缓存

查看内存

free看总览

#1.看内存总览
free -g

used:系统已使用的内存(含缓存)
buff/cache:文件缓存(可以回收)
available:真正还能用的内存空间(关键指标)
如果 available 接近 0,系统就会开始用 swap,性能骤降。

top动态追踪吃内存的程序

#默认按 CPU 排序,在top界面按 M(大写)按内存排序
top

#非交互式输出
top -b -n 1 | head -n 20

RES:实际驻留内存
%MEM:占用总内存的百分比

查看特定进程内存

#指定PID的内存
cat /proc/1234/status | grep -i vm

#分析系统层面内存状态
cat /proc/meminfo

VmRSS:实际占用的物理内存
VmSize:分配的虚拟内存

清除内存缓存指令

echo 3 | sudo tee /proc/sys/vm/drop_caches

释放 PageCache
释放目录项缓存(dentries)
释放 inode 缓存

自动化执行

创建drop_caches.sh

vi /usr/local/bin/drop_caches.sh

#!/bin/sh
echo 3 | tee /proc/sys/vm/drop_caches

赋予权限

chmod +x /usr/local/bin/drop_caches.sh

crontab定时

crontab -e

0 5 * * 2 /usr/local/bin/drop_caches.sh

0:分钟
5:小时(5 点)
*:每天(不限制日)
*:每月
2:星期几(0 是周日,1 是周一,2 是周二)

posted @ 2025-04-22 09:14  秋夜雨巷  阅读(110)  评论(0)    收藏  举报