Linux磁盘空间占满故障处理

Linux磁盘占满



当磁盘被某大文件占满时,而且此大文件正在被某些进程读写并占用着,此时无法删除和置空此文件,只能先找到占用大文件的进程,然后终止进程,最后置空此文件。

实例如下:在/boot分区中创建大文件test,将boot分区的磁盘占满,通过另外一个终端进入主机,vim编辑此test文件,模拟大文件被vim进程占用,然后删除和清空此test文件。


终端1

[[email protected] ~]# df -h  /boot/                                     #查看boot分区大小

Filesystem      Size   Used Avail Use% Mounted on

/dev/sda1       997M   110M  887M  12% /boot

[[email protected] ~]# dd  if=/dev/zero of=/boot/test bs=1M count=900      #创建900M文件,占满磁盘

dd: error writing ‘/boot/test’:  No space left on device

887+0 records in

886+0 records out

930058240 bytes (930 MB)  copied, 13.166 s, 70.6 MB/s

[[email protected] ~]#

终端2在创建好大文件后,启用终端2,vim编辑此文件,模拟此文件被占用


[[email protected]]# vim test

1

~

~

回到终端1中进行删除文件


[[email protected] ~]# rm -rf/boot/test                            #无法删除此大文件

[[email protected] ~]# df -h /boot                            #发现此大文件并没有被删除

Filesystem      Size Used Avail Use% Mounted on

/dev/sda1       997M 997M   20K 100% /boot

[[email protected] ~]# >/boot/test                          #置空此大文件并没有被置空

-bash: /boot/test: No spaceleft on device

[[email protected] ~]# df -h /boot

Filesystem      Size Used Avail Use% Mounted on

/dev/sda1       997M 997M   20K 100% /boot

[[email protected] ~]# lsof |grep/boot/test

vim       6562         root   3r      REG                8,1 930045952     456127 /boot/test

[email protected] ~]# kill 6562                              #杀死此vim的进程

[[email protected] ~]# >/boot/test                          #置空此文件

[[email protected] ~]# df -h /boot                           #验证发现此文件已经被清空

Filesystem      Size Used Avail Use% Mounted on

/dev/sda1       997M 110M  887M  12% /boot

[[email protected] ~]# rm -rf/boot/test                     #然后删除此文件

[[email protected] ~]# ll/boot/test

ls: cannot access/boot/test: No such file or directory

时间: 2024-10-17 16:12:54

Linux磁盘空间占满故障处理的相关文章

记一次Linux磁盘空间占满无法删除的故障

问题介绍 近日发现公司服务器的磁盘空间越来越满,感觉快要爆掉的感觉,于是开始着手清清磁盘空间,但是找来找去,发现根目录已经使用了90%以上,可是/下的目录占的空间都非常小,始终找不到占满磁盘空间的大头在哪里. 思考解决方案 按照网上的说法,是因为文件已经删除,但是使用文件的进程还存在,导致空间无法释放.运行如下命令后(最终无效). lsof | grep deleted | awk '{print $2}' | xargs kill -9 因为系统有单独挂载的文件夹,所以想把系统分区还原成还没挂

linux系统inode占满故障处理

Linux系统inode占满故障处理 众所周知,文件系统中inode编码是指向磁盘block的唯一编号,若服务器遭入侵或日志文件将磁盘inode资源编号耗尽,新数据无法获取inode编号导致无法存储.举例说明:在磁盘中/boot独立分区中查看现有inode资源并通过for循环创建大量文件占用耗尽inode编号,导致磁盘无法写入内容,最后进行处理故障. [[email protected] ~]#  df -i /boot/                                 #查看i

linux磁盘空间用满的处理方法

linux下空间满可能有两种情况 可以通过命令 df -h  查看磁盘空间占用,实际上是查看磁盘块占用的文件(block) df -i  查看索引节点的占用(Inodes) 磁盘块和索引节点其中之一满,都会导致无法创建文件,提示磁盘空间已满. 所以请注意,查看磁盘还有空间,但是创建文件提示空间满,可能是inodes节点已满 通过命令:find / -size +100M |xargs ls -lh 列出系统内大于100M的文件 du -h --max-depth=1 查看当前目录内文件夹的大小

linux磁盘空间用满的处理方法说明

linux下空间满可能有两种情况 可以通过命令 df -h  查看磁盘空间占用,实际上是查看磁盘块占用的文件(block) df -ih  查看索引节点的占用(Inodes) 一.面对磁盘满了,通过下列命令找出没有用的大文件删除,接口 磁盘块和索引节点其中之一满,都会导致无法创建文件,提示磁盘空间已满. 所以请注意,查看磁盘还有空间,但是创建文件提示空间满,可能是inodes节点已满 1.通过命令:find / -size +100M |xargs ls -lh 列出系统内大于100M的文件 2

Linux 系统磁盘空间占满,df 和 du 结果不一致

服务器运行一段时间后df查看磁盘剩余空间不足,通过du统计发现被几个文件占用,遂删除之.过了一段时间磁盘空间再次不足,通过du统计却找不到那么多大文件.搜索后才得知原因:文件删除后空间没有释放,du统计不到这部分文件:需要通过lsof排查,然后kill文件进程.以下记录排查处理过程: df查看分区使用情况 df(Disk Free) 以磁盘分区为单位查看文件系统,获取硬盘被占用空间和剩余空间等信息.df 默认显示的文件大小单位Byte:使用命令df -h,以KB,MB,GB为单位,提高可读性.

Linux 系统(Centos版本)磁盘空间占满的解决办法。

这两天 ,服务器借给了朋友 搭建  三端合一的 游戏,结果没弄成. 还给我服务器的时候,卧槽!!! ,40G的硬盘,使用率 百分百,这是放种子了??? 算了 ,自己借出去的服务器,含着泪也要修好. 本来是准备重装系统 搞定的.想想,服务器用的久了,服务器的内容也多了,一个SVN版本控制器的内容,就让你舍不得重装了. 还是查查资料,想想其他办法吧. 解决开始: 先命令查一查磁盘,使用率吧.别是宝塔面板的问题.那也不是不可能. 1 [[email protected] /]# df -l 2 文件系

磁盘空间占满inode结点没用完 并删除了文件但是释放不了

lsof  |grep delete lsof(list system open file )可显示系统打开的文件,以root身份运行. 很多时候文件正在被占用,即使删除了,也无法释放空间,只有停 了进程 才能释放空间!! l [[email protected]]# lsof |grep delete zabbix_ag 1154 zabbix 1w REG 202,1 1732 3580 /var/log/zabbix/zabbix_agentd.log-20160827 (deleted)

linux磁盘空间使用问题

linux磁盘空间用满的处理方法 linux下空间满可能有两种情况 可以通过命令 df -h  查看磁盘空间占用,实际上是查看磁盘块占用的文件(block) df -i  查看索引节点的占用(Inodes) 磁盘块和索引节点其中之一满,都会导致无法创建文件,提示磁盘空间已满. 所以请注意,查看磁盘还有空间,但是创建文件提示空间满,可能是inodes节点已满 通过命令:find / -size +100M |xargs ls -lh 列出系统内大于100M的文件 du -h --max-depth

linux 磁盘空间被占满但找不到目标文件的问题处理 lsof命令

lsof简介 在终端下输入lsof即可显示系统打开的文件,因为 lsof 需要访问核心内存和各种文件,所以必须以 root 用户的身份运行它才能够充分地发挥其功能. 直接输入lsof部分输出为: 每行显示一个打开的文件,若不指定条件默认将显示所有进程打开的所有文件. lsof输出各列信息的意义如下: COMMAND:进程的名称 PID: 进程标识符 USER:进程所有者 FD: 文件描述符,应用程序通过文件描述符识别该文件.如cwd.txt等 TYPE:文件类型,如DIR.REG等 DEVICE