
之前我们学习了inode和block的区别,磁盘满的原因可能是inode满了,也有可能是block满了。如果是小文件较多,inode容易满,大文件较多,block容易满,今天我们就来具体分析一下
通过df命令看下是inode满了还是block满了,还是文件删除了没有彻底释放空间 找到问题的目录,inode满了就查找小文件较多的目录,block满了就查找占用空间较大的目录 看下文件是否有用,是否可以删除 如果文件需要用到,不可删除,需要扩容磁盘,如果文件可以删除,先备份到硬盘,然后在系统中删除释放空间
删除文件的时候一定要注意,如果文件正在被别的程序调用,那么直接使用rm删除是不会释放空间的,可以使用清空的方式释放该文件的空间。 只要有程序调用或者文件的硬链接数量不为0,空间就不会释放
inode满如何解决
查看inode空间 [root@web ~]# df -ih
Filesystem Inodes IUsed IFree IUse% Mounted on
devtmpfs 228K 325 227K 1% /dev
tmpfs 230K 2 230K 1% /dev/shm
tmpfs 230K 404 230K 1% /run
tmpfs 230K 16 230K 1% /sys/fs/cgroup
/dev/vda1 2.5M 63K 2.5M 3% /
tmpfs 230K 1 230K 1% /run/user/0复制查找每个目录下有多少个文件 for i in /*;do echo $i;find $i|wc -l;done|xargs -n2 复制找到小文件较多的目录,看是否有用,无用的话就备份删除
block满如何解决?
查看磁盘空间 [root@web ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 909M 0 909M 0% /dev
tmpfs 919M 0 919M 0% /dev/shm
tmpfs 919M 492K 919M 1% /run
tmpfs 919M 0 919M 0% /sys/fs/cgroup
/dev/vda1 40G 2.6G 35G 7% /
tmpfs 184M 0 184M 0% /run/user/0复制查看那些文件比较大 root@web ~]# du -sh /*|grep G
1.8G /usr
root@web ~]# du -sh /usr/*|grep G复制从根目录查找,然后一级一级往下找,直到找到大文件位置 找到大文件,看是否可以删除,不可以删除扩容磁盘,可以删除,备份之后在删除
[root@web ~]# lsof |grep delete
aliyun-se 10920 root 7uW REG 253,1 0 393218 /tmp/AliyunAssistClientSingleLock.lock (deleted)
aliyun-se 10920 10922 root 7uW REG 253,1 0 393218 /tmp/AliyunAssistClientSingleLock.lock (deleted)
aliyun-se 10920 10923 root 7uW REG 253,1 0 393218复制
[root@web ~]# ps -ef|grep 10920
root 10920 1 0 Jun07 ? 00:15:29 /usr/local/share/aliyun-assist/2.2.3.196/aliyun-service复制
文章转载自小董的成长笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。