df和du

2020-06-02  本文已影响0人  啊哈_6377

查看当前服务器磁盘空间(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

上一篇下一篇

猜你喜欢

热点阅读