df和du

作者: 啊哈_6377 | 来源:发表于2020-06-02 15:05 被阅读0次

    查看当前服务器磁盘空间(df和du)

    df,du区别:

    df 是从文件系统获取空间大小,当删除了某文件,可能还未被Linux完全回收掉,那这部分大小也会被计算在内;直到已删除文件根据规则被释放掉之后,这部分的大小才不会被计算在内,df值更精确

    du是通过搜索文件来计算文件大小,并累加。du就只能计算当前存在能看到的文件,他就算大小就是认为当前所有存在文件之和

    df:

    df -h  查看磁盘空间占用,实际上是查看磁盘块占用的文件(block)

    df -i  查看索引节点的占用(Inodes)

    磁盘块和索引节点其中之一满,都会导致无法创建文件,提示磁盘空间已满

    du:

    du -s  列出总量,不列出目录的占用

    du -ah 列出所有文件与目录大小,-h是指以易读的方式显示

    查看目录isTester/ 所占用的空间 du -sh istester 

    查看超1G的文件夹:find / -type d -size +1G

    一次磁盘清理过程记录:

    1、df -h  查看磁盘占用,/data占用100%

    2、

    a.查看/data下最大的5个目录 du  --max-depth=1 | sort -rn | head -5

    区别与 du  -h --max-depth=1 | sort -rn | head -5 命令,加了-h之后sort会按照文件大小打头数据排序

    --max-depth=1 只找当前目录下的第一级目录

    结合sort:sort -n  按文件大小排列

      sort -r 倒序显示,结合-n

      sort -u 去除相同结果,只保留一个

      sort -M 按月份排序

    结合head:只看前5行内容

    b:逐个文件目录排查,锁定可清理的内容(从占用比较大可以清理的文件下手)

    2.文件已经删除,但磁盘空间变化不大或磁盘空间已占满,但找不到大文件可清理

    lsof -n | grep "delete"

    原因:当我们删除某些文件时,文件删除了,但如果有进程打开了这个文件,进程未结束,该文件不会被真正释放掉

    解决:kill -9 关掉进程解决

    lsof命令集:

    lsof(list open files)是一个查看进程打开的文件的工具

    -c <进程名> 输出指定进程所打开的文件

    -d <文件描述符> 列出占用该文件号的进程

    +d <目录>  输出目录及目录下被打开的文件和目录(不递归)

    +D <目录>  递归输出及目录下被打开的文件和目录

    -i <条件>  输出符合条件与网络相关的文件

    -n 不解析主机名

    -p <进程号> 输出指定 PID 的进程所打开的文件

    -u 输出指定用户打开的文件

    2、查看内存大小:free -m

    查看内存信息:cat /proc/meminfo

    相关文章

      网友评论

          本文标题:df和du

          本文链接:https://www.haomeiwen.com/subject/wwpuzhtx.html