最近遇到磁盘占用高的告警,记录一下解决的思路。
首先是系统触发告警,通知我们某台机器磁盘占用高。(或其他途径得知)
通过XShell登录该机器。
执行df-h命令查看挂载占用情况
找到真正占用高的挂载点
挂载点/home目录占用高,需要分析该磁盘,采用ncdu分析。
如果没有安装ncdu则安装一个
安装命令:sudo yum install ncdu
然后回到挂载点对应的目录,这里是根目录,执行命令sudo ncdu /home,系统会扫描该目录
扫描完之后会进入一个图形界面,可以随意访问该目录下的文件夹或文件。
上下左右按键分别对应向上向下选择文件夹和进入文件夹,退出文件夹。
可以一个个分析,一般情况下不应该把太多的文件存在服务器。如图,temp目录听起来就是临时文件目录,从目录来看可以去项目找挂载该目录的项目,如图的就是model项目。
结合代码分析,这里存的是导入压缩包数据时造成的临时压缩包和解压文件。
可以删除文件从而减少磁盘占用。按d可以删除文件。
如果文件数量持续增长且属于重要文件,则需要考虑更改代码把文件存到OSS等地方。