buff/cache内存占用过多(定时任务,脚本)
- 找一个目录,然后创建脚本文件--touch cleanCache.sh
- 用vi编辑--vi cleanCache.sh
- 添加如下内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| #!/bin/bash used=`free -m | awk 'NR==2' | awk '{print $3}'` free=`free -m | awk 'NR==2' | awk '{print $4}'`
echo "===========================" echo "内存使用情况 | [使用了:${used}MB][剩余:${free}MB]"
if [ $free -le 500 ] ; then sync && echo 1 > /proc/sys/vm/drop_caches sync && echo 2 > /proc/sys/vm/drop_caches sync && echo 3 > /proc/sys/vm/drop_caches echo "清理Cached成功" else echo "不需要清理" fi exit
|
- 通过如下命令测试脚本是否正常运行
chmod 777 cleanCache.sh
./cleanCache.sh - 下面开始设置自动定期清理,输入如下命令,打开配置文件--crontab -e
- 在末尾添加如下内容:(每天0点的时候执行一次,可以按需更改)
1
| * 0 * * * ./路径/cleanCache.sh
|
- 然后输入如下指令可以查看是否成功--crontab -l
阿里云服务器启用虚拟内存
阿里云服务器默认没有开启虚拟内存,经常遇到软件内存不足,运行崩溃的情况。
1、创建虚拟内存磁盘卷
1 2 3
| # 大概count=2024288,2G左右,可以视磁盘大小和需求创建。 # 默认存放在/swap/swapadd,可以是自己的任何目录。阿里云服务器默认没有swap,需要自己mkdir /swap创建。 dd if=/dev/zero of=/swap/swapadd bs=1024 count=2024288
|
2、将磁盘卷转为虚拟内存卷
3、启用虚拟内存服务
1 2
| swapon /swap/swapadd free -h
|
4、关闭虚拟内存服务
1
| swapoff -v /swap/swapadd
|
5.移动虚拟内存空间
1 2 3 4
| 如果当前的虚存所在的磁盘空间不够,可以首先关闭虚存服务,将其移动到别的磁盘,再启用即可。 swapoff -v /swap/swapadd mv /swap/swapadd /mnt/swap swapon /swap/swapadd
|
磁盘清理
查看所有的jobs的磁盘占用情况。(max-depth: 目录查找深度)
查看磁盘空间使用情况
查看是哪个文件占得空间比较大
日志的话可以运行下命令清空(而非删除,避免一些系统级别的不产生日志等错误)
查找大于100m的文件
ls -lh $(find ./ -type f -size +100M)
记录一次错误:Insufficient space for shared memory file