前言
在日常开发工作中,经常与服务器打交道,难免会遇到服务器的一些问题。
问题发现
突然有一天运维同事发来一段服务器磁盘空间不足日志信息,需要开发人员排查并清除过高资源,特此记录,排查流程。
问题解决
- 先通过命令
df -h
检查文件系统的磁盘空间占用情况:
命令中各个选项的含义:
df -a
:显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统。df -h
:以容易理解的格式输出文件系统大小,例如124KB、345MB、46GB。df -i
:显示i节点信息,而不是磁盘块。df -t
:显示各指定类型的文件系统的磁盘空间使用情况。df -x
:列出不是某一指定类型文件系统的磁盘空间使用情况。df -T
:显示文件系统类型。df
以512字节为单位df –k
以1024字节为单位.
- 假设看到home目录占用空间占用挺大,为例,再通过命令
du -sh *
查找home目录下所有目录(或文件)所占磁盘空间的大小:
命令中各个选项的含义:
du -a
或du -all
为每个指定文件显示磁盘使用情况,或者为目录中每个文件显示各自磁盘使用情况。du -b
或du -bytes
显示目录或文件大小时,以byte为单位。du -c
或du –total
除了显示目录或文件的大小外,同时也显示所有目录或文件的总和。du -D
或du –dereference-args
显示指定符号连接的源文件大小。du -h
或du –human-readable
以K,M,G为单位,提高信息的可读性。du -H
或du –si
与du -h
参数相同,但是K,M,G是以1000为换算单位,而不是以1024为换算单位。du -k
或du –kilobytes
以1024 bytes为单位。du -l
或du –count-links
重复计算硬件连接的文件。du -L<符号连接>
或du –dereference<符号连接>
显示选项中所指定符号连接的源文件大小。du -m
或du –megabytes
以1MB为单位。du -s
或du –summarize
仅显示总计,即当前目录的大小。du -S
或du –separate-dirs
显示每个目录的大小时,并不含其子目录的大小。du -x
或du –one-file-xystem
以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。du -X<文件>
或du –exclude-from=<文件>
在<文件>指定目录或文件。du –exclude=<目录或文件>
略过指定的目录或文件。du –max-depth=<目录层数>
超过指定层数的目录后,予以忽略。du –help
显示帮助。du –version
显示版本信息。du -sh *
显示当前目录内文件夹及文件的大小。
然后依次往下寻找,重复步骤2的命令,定位最终占用空间资源的文件,该删除删除,该停止停止,即可。