确定是不是真的是磁盘空间不足
输入命令:df –lh 查看磁盘信息
很明显:Filesystem 下的挂载点 /dev/xvda1 下的 40G 容量已经耗尽。
既然问题已经确定了,接下来就是处理了。
处理方法也很简单,就是删文件。
问:删除什么文件?
答:删除占用磁盘空间大,但又无用的文件。
问:什么是无用的文件?
答:如果对系统不熟悉的话,日志可能是你第一的下手目标。
如何定位最大文件目录
输入命令: cd / 进入根目录。
输入命令:du -h –max-depth=1寻找当前目录,哪个文件夹占用空间最大
以上两个命令之后,可以看到 /usr 此路径占用较大磁盘空间,占用了 21G。眼尖的同学可能看到了最后一项显示 24G,它表示当前目录所有文件占用磁盘空间总和容量是 24G。
如法炮制,几番判断后,定位到 tomcat 的日志文件。
由上图可以判断,17G 文件在当前目录 (tomcat 日志目录) 文件中。
如何定位最大文件
输入命令:ls –lhS 将文件以从大到小顺序展现
最终定位文件为:catalina.out 这个日志文件。
确认文件未被占用
删除文件谁都会:rm –f catalina.out 但是,最好确认下是否要下载下来让开发人员分析日志。
linux下删除文件夹及下面所有文件:使用rm -rf 目录名字 命令即可
-r 就是向下递归,不管有多少级目录,一并删除
-f 就是直接强行删除,不作任何提示的意思
辛苦一阵找到文件,删除了很开心,输入命令:df –lh 发现磁盘空间仍是满的状态。跟图一完全没有区别。难道说是需要重启系统吗?linux 会这么不友好么?
谷歌一下,发现了这么一段话:
在 Linux 或者 Unix 系统中,通过 rm 或者文件管理器删除文件将会从文件系统的目录结构上解除链接 (unlink). 然而如果文件是被打开的(有一个进程正在使用),那么进程将仍然可以读取该文件,磁盘空间也一直被占用。
输入命令:/usr/sbin/lsof|grep deleted 确认删除文件是否被占用
确实被占用。根据第二列提供的 pid,输入命令:kill -9 13117 杀掉进程。
再次输入命令:df –lh
如图,磁盘空间被释放了。问题顺利处理了。
https://blog.csdn.net/ck3207/article/details/76691904