linux服务器发现挂载磁盘空间突然爆满排查方法

linux服务器发现挂载磁盘空间突然爆满排查方法,第1张

1、先通过 df -h 查看是哪个磁盘空间满了,并看一下后面的挂载目录是哪个,比如说是>

1、运用磁盘清理软件清理C盘,大约可为C盘释放50M-800M空间。

2、关闭休眠功能,在开始菜单的运行里输入 powercfg -h off 指令,关闭休眠,此文件实际大小和物理内存是一样的,大约可以为C盘释放1-3G的空间。

3、设置虚拟内存: 计算机属性>高级系统设置>设置(性能)>高级选项卡>更改(虚拟内存),将C盘设置为无分页文件,然后把D盘设置成系统管理的大小即可,更改后只有按“设置”按钮才能生效,最后重启便完成了设置,此文件默认为物理内存的15倍,大约可为C盘释放2-4G的空间。

4、删除自动备份文件,运行cmd程序(在“开始–>程序–>附件”中),鼠标右键选择“以管理员身份运行”;然后,命令行输入 rd/S/Q c:WINDOWSOLD ,提示确认是否删除目标文件夹,输入y然后回车即可。WINDOWSOLD为系统的备份文件,时间越久就越大,超过10G都是很正常的。大约可为C盘释放3G以上空间。

5、在电脑管家主界面上点击“清理垃圾”,确认相关垃圾类型被勾选后,点击“开始扫描”,然后点击“立即清理”,如果有需要确认才能清理的垃圾,会您确认后再进行深度清理,以实现快速、安全地清理掉电脑中的垃圾文件。

在日常使用过程中,可能会经常遇到Linux服务器磁盘空间满的问题。

一、遇到磁盘空间不足的报错时候,首先使用df -h查看磁盘空间使用情况,如下图所示

二、进入目录/home/zhang,查找磁盘空间中的大文件,使用命令du -sh 查找占用空间大的目录,通过逐层定位,最后会找到具体的文件。

三、第二步的命令虽然能看到了,但是文件太多不好找,使用du -h --max-depth=1命令查找空间占用大的文件。

早上美编组突然反应账号登录不上,个别文件上传不上,本人非专业的服务器运维人员,第一反应是服务器磁盘空间满了,立即上去排查一圈,发现磁盘尚有剩余空间,所以进一步排查问题,现在讲相关过程记录下来备用。

问题发现:相关应用不能正常使用,系统有明显报错提示(如下):

bash: cannot create temp fileforhere-document: No space leftondevice

有过初步的运维知识,并经过度妈显示 这种情况应该是服务器tmp目录被占满的提示,因此开始排除问题:

一、查看服务器磁盘空间情况:

df -hl 命令显示 / 根目录40%空间已使用,尚有60%的空间未被使用,所以磁盘空间占满的情况给排除了(如果出现占用100%的问题,请自行度妈找解决问题办法,不在本篇讨论的范围之内;)

二、 找出问题原因所在并排除 (重点)

因为本人非专业的运维人员,所以并不知道接下来该怎么办(大佬可以无视),经过一番搜索及请教,得到一种提示: LINUX服务器也会因为小文件太多造成inode索引使用完,而报以上错误 ;  随即开始确认问题;

1、执行命令 df -i  得到如下图:

看到了 100%,感兴趣的人自行去百度,大致意思是LINUX写文件需要两个条件:01:磁盘有空间(文件大小占用容量);02:inode(类似于编号)之类的东东(存放文件数量),哪个有问题都会提示写入不了文件;病因找到,开始处理。

2、因为tmp目录一般在系统 / 根目录下,随即 cd / ,切换至系统根目录下执行如下命令  

for i in /; doecho$i;find$i| wc -l; done

大致意思是从 / 根目录开始逐级排查目录下文件的数量多少,一般会得到如下的图示;

经过层层定位,本人定位到如下目录:/var/spool/postfix/maildrop ,显示文件数量 200多万个,着实是有点大,封顶多少我也不知道,接下来就是删除文件了呗,执行如下命令:

ls | xargs rm -rf;

经过约10分钟左右的等待,命令执行完毕,通知美编组测试,一切恢复正常,特撰文记录。

三、为什么会出现这种情况,后续处理

 /var/spool/postfix/maildrop 这个目录好像是存放了类似于cron执行后邮件通知的内容信息文件,继续上网查资料,发现是crontab 每次执行任务后会发送邮件,接受者是在他的配置文件 “/etc/crontab” 通过 MAILTO=root’ 来设置的,默认是root,如果执行输出没有十分必要要用邮件发送的话,可以修改此处。

随修改如下:

执行命令  vi /etc/crontab;

将‘MAILTO=root’替换成‘MAILTO="",然后service crond restart即可。

===================================与本篇内容无关==================================

使用命令du -h –max-depth=1 / 查看/ 根路径下文件的大小

du -sh / 查看哪个目录最大,一步一步的查找大文件

使用du -h --max-depth=1查找最大的文件

1、运用磁盘清理软件清理C盘,大约可为C盘释放50M-800M空间。
2、关闭休眠功能,在开始菜单的运行里输入 powercfg -h off 指令,关闭休眠,此文件实际大小和物理内存是一样的,大约可以为C盘释放1-3G的空间。
3、在电脑管家主界面上点击“清理垃圾”,确认相关垃圾类型被勾选后,点击“开始扫描”,然后点击“立即清理”,如果有需要确认才能清理的垃圾,会您确认后再进行深度清理,以实现快速、安全地清理掉电脑中的垃圾文件。

磁盘配额,限制每位用户 启用“磁盘配额”功能。如果你的Windows系统采用的是NTFS文件格式,才能使用“磁盘配额”功能,它可以对系统中每个Windows用户帐号,所使用的文件服务器硬盘空间资源进行限制。 在笔者所管理的局域网中,有一文件服务器提供硬盘共享资源,所有的共享文件夹都存放在服务器的D盘中。下面笔者就可以使用“磁盘配额”功能,限制每个能访问共享资源的Windows用户,使用的D盘的硬盘空间容量。 假如有“YANPI1、YANPI 2、YANPI 3”等若干个Windows用户帐号,对D盘的共享文件夹具有读、写等权限,为了限制这些Windows用户对文件服务器中共享文件夹硬盘空间资源的浪费,就可以在文件服务器的D盘中启用“磁盘配额”功能,指定每个具有读、写权限的Windows用户帐号可以使用的硬盘空间数。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13399711.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-29
下一篇 2023-07-29

发表评论

登录后才能评论

评论列表(0条)

保存