linux 文件大小总和,linux磁盘占用跟每个文件夹大小总和不符?
我们在使用磁盘统计的时候,经常用到df和度命令, 但是很多时候都发现不太一致.其实主要分下面两类情况
一、僵尸进程
通过top命令可以统计僵尸进程:
image.png
也可以通过以下命令进行操作
ps -ef | grep defunct | grep -v grep | wc -l
如果发现有的话,可以清理一波,用如下命令:
ps -e -o ppid,stat | grep Z | cut -d '' -f2 | xargs kill -9
注意: 僵尸进程一次不一定能被清理干净,可以多清理几次.
二、删除的文件被进程占用
df 统计的时候是从文件系统考虑的,不仅包含文件系统大小,还要统计被命令或者程序占用的空间,
例如 文件已经被删除,但是被某个进程持有。其原理是读取每个分区的superblock来获取空闲数据块、已使用数据块,从而计算出空闲空间和已使用空间,因此df统计的速度极快(superblock才占用1024字节)。所以非常快。
既然文件已经被删除了为何还不释放呢? 文件已经被删除,但是被某个进程持有。这种情况就不会释放。
如何查找出这些僵尸文件呢?
lsof |grep deleted
找到的结果就是一些文件已经被删除,但是空间还没有释放的。可以很久实际情况将持有的改文件的PID kill掉来释放空间。
可以使用如下命令批量删除。 生产环境谨慎操作。
for i in `lsof |grep deleted |awk '{ print $2 }'` ; do kill -15 $i ;done
三、du和df的原理
du -s命令通过将指定文件系统中所有的目录、符号链接和文件使用的块数累加得到该文件系统使用的总块数,因为是stat所以所有类型的 ”文件” 都可以统计的到;而df命令通过查看文件系统磁盘块分配图得出总块数与剩余块数。文件系统分配其中的一些磁盘块用来记录它自身的一些数据,如i节点,磁盘分布图,间接块,超级块等。这些数据对大多数用户级的程序来说是不可见的,通常称为Meta Data。
du命令是用户级的程序,它不考虑Meta Data,而df命令则查看文件系统的磁盘分配图并考虑Meta Data。df命令获得真正的文件系统数据,而du命令只查看文件系统的部分情况。
linux 文件大小总和,linux磁盘占用跟每个文件夹大小总和不符?相关推荐
- linux每个磁盘大小,linux磁盘占用跟每个文件夹大小总和不符
[LeetCode] Assign Cookies 分点心 Assume you are an awesome parent and want to give your children some c ...
- Windows上获取文件大小的几种方法及获取文件夹大小方法
文章来自:https://blog.csdn.net/mfcing/article/details/53184921 获取文件大小 Windows提供了好几个API函数来获取文件大小,还可以使用标准C ...
- linux看10g文件,Linux 查看文件和文件夹大小
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择. df可以查看一级文件夹大小.使用比例.档案系统及其挂入点,但对文件却无能为力. du可以查看文件及文件夹的大小. 两者配 ...
- 查看linux显示文件大小,Linux下查看占用最大的文件和文件夹大小
不知道大家有没有遇到过这种情况,就是经常会出现linux文件磁盘空间不足导致的网站打不开,面板登录不上的情况,小魏今天就遇到了,空间占用爆满,小魏进行清理占用最大文件,网站恢复,那么这个时候我们就会想 ...
- Linux 文件大小 文件夹大小 磁盘大小
du -sh 查看当前文件夹下文件与文件夹大小: df -hl 查看磁盘空间大小: 参考文献:www.cnblogs.com/adolfmc/archive/2013/02/16/2913801.ht ...
- linux 查看磁盘空间 文件 文件夹 大小
只查看一级目录统计的空间占用 [root@swarm-node1 sdb]# du -h -d1 57M ./leo_log_test 69G ./dsp-bidder-logs 980K ./she ...
- Linux:centos释放缓存,查看磁盘空间大小,xxx文件夹, 查看文件夹大小,查看剩余内存,查看xxx软件位置,统计某文件夹,统计某文件夹下目录数量,查看文件夹大小,给文件夹下所有的文件赋值权限
一台老的PHP后台服务器,今天用 free -m 查看,发现内存跑满了. 再 top,然后按下shift+m,也就是按内存占用百分比排序,发现排在第一的进程,才占用0.9%,那是什么占用的呢?谷歌了一 ...
- Linux C语言磁盘U盘容量读取、目录列表读取、文件夹大小读取
Linux C语言磁盘U盘容量读取.目录列表读取.文件夹大小读取C语言源代码 #include <stdio.h> #include <sys/statfs.h> #inclu ...
- linux 查看文件夹大小及文件大小
一.查询文件夹大小 1.最简单的查看方法可以使用ls -ll.ls-lh命令进行查看,当使用ls -ll,会显示成字节大小,而ls- lh会以KB.MB等为单位进行显示,这样比较直观一些. 2.通过命 ...
最新文章
- helper.js(20170612)
- 陶哲轩实分析命题10.1.7
- 为什么linux自带python_为什么一些linux自带python,而不是C,C++,java等其他编程语言?...
- mysql 异步_MySQL -- 异步I/O
- 清华大学镜像_国内开源镜像站信息盘点
- 车厢重组(信息学奥赛一本通-T1310)
- AI又抢了人类职位,这回轮到银行销售人员了?
- WannaCry反思:传统安全理念遭遇马奇诺防线式溃败
- PythonServer
- JavaScript运算符运算优先级
- Ubuntu系统下把视频转换成gif图片
- NAO机器人语音识别
- 《Openwrt开发》第四章:newifi3 实现内网穿透(n2n)
- python3爬虫有道翻译_【Python3爬虫】有道翻译
- Nodejs爬虫自动爬取百度图片
- 动态范围控制(DRC)简介
- 5个超棒的自我提升App
- Docker -v 对挂载的目录没有权限 Permission denied解决办法
- 服务器控件与客户端控件
- 读书笔记—别让情绪毁了你(插图精读本)