Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2757935
  • 博文数量: 587
  • 博客积分: 6356
  • 博客等级: 准将
  • 技术积分: 6410
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-23 10:54
个人简介

器量大者,福泽必厚

文章分类

全部博文(587)

文章存档

2019年(3)

2018年(1)

2017年(29)

2016年(39)

2015年(66)

2014年(117)

2013年(136)

2012年(58)

2011年(34)

2010年(50)

2009年(38)

2008年(16)

分类: LINUX

2018-05-28 14:37:42

磁盘被占满系统出现 no space left on 报错(block被占满/inode被占满)
 
系统出现 no space left on 报错 但是使用df -h 发现磁盘并没有满

企业中在什么情况下会发生
解答:
ext4文件系统在格式化的时候会创建inode 和 block 
磁盘空间满是由inode和block两个标准来决定的

题意说用df -h 查看没有满 df -h 是查看block块的说明block块没有满所以应使用df -i 查看inode是否满了

1 block被占满
定位问题
1、查看实际文件占用空间的大小
#  mount | awk '/sd|hd/{print $3}' | xargs -i du -sh {} 2>/dev/null | sed -r 's#([^ \t]*)[ \t]*(.*)#echo -e  "`mount | grep "\\b \2 \\b" | cut -d " " -f1`\\t\1\\t\2" #g' | bash
/dev/sda2    1.6G    /
/dev/sda1    34M    /boot
2、使用df查看block占用量
#  df -h | awk -F "[ \t]*" '/sd|hd/{print $1"\t"$3"\t"$6}'
/dev/sda2    1.6G    /
/dev/sda1    36M    /boot
3、比较(1)和(2)的结果 
1> (1)和(2)的结果不相等
# lsof | grep deleted  查看是否有删除了的文件还在被程序调用
  确认该数据不是误删除的文件
  重启调用该文件的程序
2> (1)和(2)的结果相等

# find / -type f 2>/dev/null | xargs du 2>/dev/null | sort -n | taildf  查看占用系统空间最多的文件
确认该文件已经无用
使用 >/路径/路径  清空该文件
2 inode被占满
定位问题
查看小文件最多的目录
# find / -type f -size -1k | xargs -i dirname {} | sort | uniq -c | sort -n | tail
在确定该目录下的小文件没用之后

# find /路径/路径 -size -1k -type f | xargs rm -f
删除过多的小文件
阅读(1065) | 评论(0) | 转发(0) |
0

上一篇:线上服务CPU100%问题快速定位实战

下一篇:没有了

给主人留下些什么吧!~~