linux启动tomcat no space left on device 怎么解决

如题所述

可能是你的磁盘已经满了,下面就给你支几招(以/home空间满为例):
1. 定期对重要文件系统扫描,并作对比,分析那些文件经常读写
#ls –lR /home >;files.txt
#diff filesold.txt files.txt

通过分析预测空间的增长情况,同时可以考虑对不经常读写文件进行压缩,以减少占用空间。

2. 查看空间满的文件系统的inodes消耗

#df – i /home

如果还有大量inode可用,说明大文件占用空间,否则是可能大量小文件占用空间。

3. 找出占用空间较大的目录

查看/home 占用的空间

#du –hs /home

查看/home 下占用空间超过1000m

#du |awk '$1>;2000'

4. 找出占用空间较大的文件

#find /home –size +2000k

5. 找出最近修改或创建的文件

先touch一个你想要的时间的文件如下:

# touch -t 08190800 test

#find /home -newer test -print

6. 删除系统日志等

删除生成 core,mbox等文件

#find / -name core|xargs rm –rf

删除日志

#rm -rf /var/log/*

7. 对分区做链接

在有空间的分区,对没有空间分区做链接

#ln -s /home /usr/home

8.找出耗费大量的空间的进程

根据不同的应用,找出对应的进程。分析原因。

9.检查并修复文件系统

#fsck –y /home

10.重起机器

有了以上的十招,应该可以解决大部分问题,但关键还是安装时要规划好分区。另外发现磁盘满时,不能急,小心操作,认真分析原因,然后小心应对。需要注意,以上十招不需要顺序执行,有的可能一招封喉,有的可能需要数招并用,删除操作一定要小心。如果还不行,只有采取增加硬盘,重新安装系统等"硬"办法了。

还可以:

cd \

du -h --max-depth=1|grep G|sort -n

找到最大的那个目录后进入该目录

再运行du -h --max-depth=1|grep G|-n

如果没有结果可以运行 du -h --max-depth=1|grep M|sort -n
找出来以后看是否有用的文件
没用就删掉

du -hs /var/log/httpd/
rm -rf /var/log/httpd/error_log.1
温馨提示:答案为网友推荐,仅供参考
相似回答