Linux系统中df与du命令查看分区大小
一. df:检查文件系统占用磁盘情况
disk free的缩写,使用 statfs 系统调用,直接读取分区的超级块信息获取分区使用情况。它的数据是基于分区元数据的,所以只能针对整个分区。由于 df 直接读取超级块,所以运行速度不受文件多少影响。
二. du:检查目录占用磁盘情况
disk usage 的缩写,du 命令会对统计文件逐个调用 fstat 系统调用,获取文件大小。它的数据是基于文件获取的,所以有很大的灵活性,不一定非要针对一个分区,可以跨越多个分区操作。如果统计的目录中文件很多,du 速度就会变慢。
三. df和du的区别
当一个文件被删除后,在文件系统目录中已经不见了,所以 du 不会再统计。然而如果此时还有运行的进程持有这个已经被删除的文件的句柄,这个文件就不会真正在磁盘中删除, 分区超级块中的信息也不会更改。这样 df 仍旧会统计这个被删除的文件。
正常情况下两条命令看到的磁盘占用情况应该一致,什么情况下会出现结果不一致的情况呢?下面给大家分享在项目中遇到的问题;
设备分区满了,什么情况?赶紧看看什么原因:
先看看目录大小:
再看看文件大小,原来是log文件:
删除文件:
这下恢复了吧?
what?使用df查看/run/user/1000分区的使用率还是100%:
可使用du查看文件夹的大小明明只有28K啊:
怎么办?
lsof查看被删除的文件被打开的情况:
确认进程:
杀掉进程:
df查看分区空间正常:
以上设备截图为举例,在实际的项目开发过程中,有很多日志需要处理,如系统引擎日志、nginx日志、各类开源软件日志等。对日志的大小都需要进行管理。在删除旧日志时,很可能就会遇到这个问题。
问题解决方法:
- lsof查看使用文件的进程,结束进程。
- 或使用清空的方式代替rm,如echo > /tmp/test.log
Linux系统中df与du命令查看分区大小相关推荐
- Linux下使用df与du命令查看磁盘空间
背景 项目正常运行,然后某一天出现静态资源拿不到,需要重复刷新或者管理后台登录不上的情况.项目没有报异常,没有出错.经过排查,是服务器磁盘空间不足造成的. 那就研究一下吧,这些东西是躲不过去也糊弄不过 ...
- 利用linux的df和du命令查看文件和目录的内存占用
版权声明:本文为博主原创文章,转载请超链接注明出处. https://blog.csdn.net/ljc1026774829/article/details/74935658 当磁盘大小超过标准 ...
- 【阿里云】阿里云磁盘异常爆满的原因排查及解决方法,df和du命令查看磁盘时结果不一致
[阿里云]阿里云磁盘异常爆满的原因排查及解决方法,df和du命令查看磁盘时结果不一致,虽然磁盘显示满了,但是通过du查询磁盘空间实际上空间并没有满 文章目录 一.阿里云磁盘空间满了如何查看 二.使用d ...
- linux批量删除screen,你不知道的linux系统中强大的screen命令
linux系统中强大的screen命令可能很多用户还没感受到,下面介绍的就是linux系统中强大的screen命令,具体内容如下所述. 因为做二代测序分析的原因,经常需要运行很长时间的程序.由于时间很 ...
- linux命令打包文件,Linux系统中打包文件的命令详解
linux系统中遇到要打包文件的时候我们该使用什么命令呢?下面由秋天网 Qiutian.ZqNF.Com小编为大家整理了linux系统中打包文件的命令详解的相关知识,希望对大家有帮助! linux系统 ...
- php ping icmp,Linux_详解Linux系统中ping和arping命令的用法,pingping 程序使用 ICMP 协议的强 - phpStudy...
详解Linux系统中ping和arping命令的用法 pingping 程序使用 ICMP 协议的强制回显请求数据报以使主机或网关发送一份 ICMP 的回显应答.回显请求数据报(" ping ...
- 在linux系统中创建文件夹,Linux系统中创建文件夹命令详解
Linux系统中创建一个新的文件夹我们可以使用命令来执行,下面由学习啦小编为大家整理了Linux系统中创建文件夹命令详解,希望对大家有帮助! Linux系统中创建文件夹命令详解 一.mkdir命令使用 ...
- linux怎么重复命令,Linux系统中重复执行历史命令的方法有哪些?
今天小编要跟大家分享的文章是关于Linux系统中重复执行历史命令的方法有哪些?各位正在从事Linux运维工作的小伙伴们,如果要执行一条或多条之前输过的指令,要怎么处理?很多人会想到使用上下箭头去翻查历 ...
- linux系统中的清屏命令
linux系统中的清屏命令 1.linux清屏命令1.clear命令 这个命令将会刷新屏幕,本质上只是让终端显示页向后翻了-页, 如果向上滚动屏幕还可以看到之前的操作信息. 2. linux清屏命令2 ...
最新文章
- SHAREPOINT爬网设置
- Spring中ref local与ref bean区别
- 解决properties文件乱码问题(eclipse和MyEclipse)
- 前后端分离之JWT用户认证
- bzoj [Usaco2009 Hol]Cattle Bruisers 杀手游戏
- 手眼标定eye-to-hand 示例:handeye_stationarycam_calibration
- php面试 算法,PHP面试之常用算法 - 简庆旺个人博客|PHP教程|PHP学习|Python学习|Python教程|Seo学习|Seo教程...
- 中国移动2018年智能硬件质量报告(第一期)——手机芯片评测
- c语言数组中循坏移动问题,如何将一个数组的元素循环左移?
- python数据存储系列教程——python(pandas)读写csv文件
- Mac中无法运行旧版本印象笔记:版本太旧 你的本地印象笔记数据是由新版印象笔记管理
- 2014年软件评测师真题精选
- 互联网这个高薪岗位不要错过,平均薪资超15k
- (CVPR 2020) RandLA-Net: Efficient Semantic Segmentation of Large-Scale Point Clouds
- Unity渲染(四):Shader着色器基础入门之获取当前屏幕贴图
- 飞凌单片机解密_GX28E01单片机解密
- 后渗透之关闭防火墙、杀毒软件并开启远程桌面
- Python和VizViewer进行自动驾驶数据集可视化
- SQL (十四)插入数据(insert语句,把数据插入表中)
- 木瓜移动每日资讯0601:速卖通5月底发布“G100出海计划”