服务器使用df和du查看磁盘大小不一致
来源:互联网 发布:photoshop8.0软件下载 编辑:程序博客网 时间:2024/06/10 04:42
Linux服务器,使用df -h查看文件系统使用率,du -sh ,显示空间总占用
当两个结果相差太大时
原因分析:
du - estimate file space usage
du命令会对统计文件逐个调用fstat这个系统调用,获取文件大小。它的数据是基于文件获取,可以跨多个分区操作。
df - report file system disk space usage
df命令使用statfs这个系统调用,直接读取分区的超级块信息获取分区使用情况。它的数据基于分区元数据,只能针对整个分区。
导致这个两个命令查看磁盘容量不一致的原因是,用户删除了大量的文件被删除后,在文件系统目录中已经不可见了,所以du就不会再统计它。然而如果此时还有运行的进程持有这个已经被删除的文件句柄,那么这个文件就不会真正在磁盘中被删除,分区超级块中的信息也就不会更改,df仍会统计这个被删除的文件。
可通过 lsof命令查询处于deleted状态的文件,被删除的文件在系统中被标记为deleted。如果系统有大量deleted状态的文件,会导致du和df统计结果不一致。
#lsof |grep deleted //在opt目录下执行lsof |grep deleted
解决方法:
1、根据lsof列出的pid直接kill相应进程或者重启对应的服务。示例:
#kill -9 692
注:如果服务器正在运行业务,kill 会导致进程直接终止,可能会影响到业务,请慎重操作。
2、重启服务器。
重启服务器系统会退出现有的进程,开机后重新加载。该过程会释放调用的deleted文件的句柄。
0 0
- 服务器使用df和du查看磁盘大小不一致
- Linux服务器使用df和du查看磁盘大小不一致的问题和解决办法
- Linux查看磁盘的使用情况命令: df 和 du
- Linux 查看文件夹大小,磁盘剩余空间(du/df)
- Linux命令_ df 磁盘整体使用量 /du 查看目录的大小
- df和du磁盘空间不一致
- Linux使用du和df查看磁盘和文件夹占用空间
- Linux查看磁盘的使用状况命令du、df
- Linux使用du和df命令结果不一致
- df及du查看文件系统及文件夹使用大小
- linux查看文件和目录大小命令df&du
- Linux下查看文件和文件夹大小(df&du)
- linux查看文件和目录大小命令df&du
- linux df du 查看文件和文件夹大小
- Linux下查看文件和文件夹大小--df,du
- du、df 查看磁盘占用、目录文件大小
- 统计磁盘的使用状况df和du
- Linux df和du不一致问题排查
- android 主题兼容问题
- 视频课程-前端开发
- nginx.org的Command-line parameters页面翻译
- IDEA Properties中文unicode转码问题
- 为什么要使用Google Protocol Buffers
- 服务器使用df和du查看磁盘大小不一致
- IAT
- openwrt 编译软件包
- Max Sum
- Python学习之Morvan 01——tkinter学习01
- Android仿京东购物车效果
- Android 中的代码混淆
- 解决正则问题 1
- AlertDialog.Builder弹窗强制选择效果