一. 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日志、各类开源软件日志等。对日志的大小都需要进行管理。在删除旧日志时,很可能就会遇到这个问题。

问题解决方法:

  1. lsof查看使用文件的进程,结束进程。
  2. 或使用清空的方式代替rm,如echo > /tmp/test.log

Linux系统中df与du命令查看分区大小相关推荐

  1. Linux下使用df与du命令查看磁盘空间

    背景 项目正常运行,然后某一天出现静态资源拿不到,需要重复刷新或者管理后台登录不上的情况.项目没有报异常,没有出错.经过排查,是服务器磁盘空间不足造成的. 那就研究一下吧,这些东西是躲不过去也糊弄不过 ...

  2. 利用linux的df和du命令查看文件和目录的内存占用

    版权声明:本文为博主原创文章,转载请超链接注明出处.    https://blog.csdn.net/ljc1026774829/article/details/74935658 当磁盘大小超过标准 ...

  3. 【阿里云】阿里云磁盘异常爆满的原因排查及解决方法,df和du命令查看磁盘时结果不一致

    [阿里云]阿里云磁盘异常爆满的原因排查及解决方法,df和du命令查看磁盘时结果不一致,虽然磁盘显示满了,但是通过du查询磁盘空间实际上空间并没有满 文章目录 一.阿里云磁盘空间满了如何查看 二.使用d ...

  4. linux批量删除screen,你不知道的linux系统中强大的screen命令

    linux系统中强大的screen命令可能很多用户还没感受到,下面介绍的就是linux系统中强大的screen命令,具体内容如下所述. 因为做二代测序分析的原因,经常需要运行很长时间的程序.由于时间很 ...

  5. linux命令打包文件,Linux系统中打包文件的命令详解

    linux系统中遇到要打包文件的时候我们该使用什么命令呢?下面由秋天网 Qiutian.ZqNF.Com小编为大家整理了linux系统中打包文件的命令详解的相关知识,希望对大家有帮助! linux系统 ...

  6. php ping icmp,Linux_详解Linux系统中ping和arping命令的用法,pingping 程序使用 ICMP 协议的强 - phpStudy...

    详解Linux系统中ping和arping命令的用法 pingping 程序使用 ICMP 协议的强制回显请求数据报以使主机或网关发送一份 ICMP 的回显应答.回显请求数据报(" ping ...

  7. 在linux系统中创建文件夹,Linux系统中创建文件夹命令详解

    Linux系统中创建一个新的文件夹我们可以使用命令来执行,下面由学习啦小编为大家整理了Linux系统中创建文件夹命令详解,希望对大家有帮助! Linux系统中创建文件夹命令详解 一.mkdir命令使用 ...

  8. linux怎么重复命令,Linux系统中重复执行历史命令的方法有哪些?

    今天小编要跟大家分享的文章是关于Linux系统中重复执行历史命令的方法有哪些?各位正在从事Linux运维工作的小伙伴们,如果要执行一条或多条之前输过的指令,要怎么处理?很多人会想到使用上下箭头去翻查历 ...

  9. linux系统中的清屏命令

    linux系统中的清屏命令 1.linux清屏命令1.clear命令 这个命令将会刷新屏幕,本质上只是让终端显示页向后翻了-页, 如果向上滚动屏幕还可以看到之前的操作信息. 2. linux清屏命令2 ...

最新文章

  1. SHAREPOINT爬网设置
  2. Spring中ref local与ref bean区别
  3. 解决properties文件乱码问题(eclipse和MyEclipse)
  4. 前后端分离之JWT用户认证
  5. bzoj [Usaco2009 Hol]Cattle Bruisers 杀手游戏
  6. 手眼标定eye-to-hand 示例:handeye_stationarycam_calibration
  7. php面试 算法,PHP面试之常用算法 - 简庆旺个人博客|PHP教程|PHP学习|Python学习|Python教程|Seo学习|Seo教程...
  8. 中国移动2018年智能硬件质量报告(第一期)——手机芯片评测
  9. c语言数组中循坏移动问题,如何将一个数组的元素循环左移?
  10. python数据存储系列教程——python(pandas)读写csv文件
  11. Mac中无法运行旧版本印象笔记:版本太旧 你的本地印象笔记数据是由新版印象笔记管理
  12. 2014年软件评测师真题精选
  13. 互联网这个高薪岗位不要错过,平均薪资超15k
  14. (CVPR 2020) RandLA-Net: Efficient Semantic Segmentation of Large-Scale Point Clouds
  15. Unity渲染(四):Shader着色器基础入门之获取当前屏幕贴图
  16. 飞凌单片机解密_GX28E01单片机解密
  17. 后渗透之关闭防火墙、杀毒软件并开启远程桌面
  18. Python和VizViewer进行自动驾驶数据集可视化
  19. SQL (十四)插入数据(insert语句,把数据插入表中)
  20. 木瓜移动每日资讯0601:速卖通5月底发布“G100出海计划”

热门文章

  1. web.xml加载顺序
  2. 国内云存储产品应用简介
  3. POJ - 3693 Maximum repetition substring(后缀数组+RMQ)
  4. HDU - 5090 Game with Pearls(二分图最大匹配)
  5. 数据科学竞赛-文本分类
  6. 实例演示使用HiBench对Hadoop集群进行基准测试
  7. 5.IDA-文本搜索、二进制搜索(16进制字节序列)、替换16进制
  8. STL中的find_if函数
  9. PostgreSQL学习笔记8之索引
  10. cocos2d-x游戏实例(13)-简易摇杆控制主角