buff/cache 占用内存过高
free -h: 查看内存使用信息
- 原因
- Linux操作系统频繁存取文件会导致内存被用光,即使程序结束后也不会被正常释放,这就导致buff/cache占用过高
- buffers:用于存放要输出到disk(块存储)的数据
- cached:存放从disk上读取的数据
- buff/cache是为了提高IO性能并由 OS 管理
解决方法
- Linux进行文件读写并不会自动回收,因为 drop_caches 的默认参数设置的就是不释放的
- 0:不释放,系统默认值
- 1:释放页缓存
- 2:释放dentries和inodes
- 3:释放所有缓存
#!/bin/bashMem=$(free -m | awk 'NR==2' | awk '{print $4}')if [ $Mem -gt 1024 ];thenecho "Service memory capacity is normal!" > /dev/nullelsesyncecho "1" > /proc/sys/vm/drop_cachesecho "2" > /proc/sys/vm/drop_cachesecho "3" > /proc/sys/vm/drop_cachessyncfi
磁盘空间不足
df -h:查看磁盘信息
- Linux进行文件读写并不会自动回收,因为 drop_caches 的默认参数设置的就是不释放的
最简单的办法就是找到大且无用的文件并删除
- du -h —max-depth=1:寻找当前目录下的占用空间大小
