du 和 df以及lsof

简介: du:disk usage通过搜索文件来计算每个文件的大小然后累加得到的值。 df:disk free通过文件系统来获取空间大小的信息。

du:disk usage

通过搜索文件来计算每个文件的大小然后累加得到的值。

 

df:disk free

通过文件系统来获取空间大小的信息。

 

如果用户删除了一个正在运行的应用程序所打开的某个目录下的文件:

  • du命令返回的值,显示出减去了该文件后的总大小
  • df命令返回的值,则不显示减去该文件后的大小(文件句柄还在被使用),直到该运行的应用程序关闭了这个打开的文件(才会真正释放空间)

 

常见的场景是,删除了一个很大的正在写入的tomcat的access日志,du显示的结果会把日志大小减去,而df则仍会包含该日志的大小(实际上tomcat仍引用了该文件的句柄)。

 

对我们的启示是,如果要删除某个access日志,不要粗暴的rm,而要温柔的:

echo "" > access.log

 

如何发现被应用程序引用着“已删除”文件呢?

lsof -n |grep deleted

lsof简介lsof(list open files)是一个列出当前系统打开文件的工具。

 

 

 

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
6天前
du命令
du命令
10 1
|
6天前
|
Linux
du命令详解
du命令详解
115 2
|
10月前
|
Linux Shell
Linux du 和 df统计目录大小为何不一样?
Linux du 和 df统计目录大小为何不一样?
112 0
|
Linux
Linux:df查看磁盘大小、du查看文件夹大小
Linux:df查看磁盘大小、du查看文件夹大小
129 0
|
Linux Shell
Linux: 查看文件和文件夹大小的df和du命令
Linux: 查看文件和文件夹大小的df和du命令
521 0
Linux: 查看文件和文件夹大小的df和du命令
|
Linux Shell
df命令/du命令/磁盘分区
      4.1 df命令  4.2 du命令 4.3/4.4 磁盘分区   df命令  磁盘管理df 大小单位是KB,挂载点是linux上的目录       df -h 根据磁盘大小适当调整单位;单位有:Byte ,1KB,1...
1792 0