Linux下查看磁盘空间

一觉醒来发现服务器磁盘满了,不知道什么情况,设置的报警没起作用。第一件事不是去查磁盘为什么会满,而是很扩容让线上服务正常运行,然后慢慢找原因。

df 命令

df命令用于显示目前在Linux系统上的文件系统的磁盘使用情况统计,可以查看磁盘各分区大小、已用空间等信息.
语法为df [OPTION]... [FILE]...,可以不带参数直接使用,一般会使用-h参数,会显示总大小Size

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        20G  2.6G   16G  14% /
devtmpfs        214M     0  214M   0% /dev
tmpfs           224M     0  224M   0% /dev/shm
tmpfs           224M  436K  224M   1% /run
tmpfs           224M     0  224M   0% /sys/fs/cgroup
tmpfs            45M     0   45M   0% /run/user/0

du命令

确定磁盘信息后,可以用du命令来显示目录或文件所占用的磁盘空间
语法为du [OPTION]... [FILE]...du [OPTION]... --files0-from=F。一般会使用-sh参数,会更直观的显示目录或文件的大小。如查看/根目录下所有文件(夹)所占空间

$ du -sh /*
0    /bin
132M    /boot
164M    /data
0    /dev
34M    /etc
25M    /home
0    /lib
0    /lib64
8.0K    /logs
16K    /lost+found
4.0K    /media
4.0K    /mnt
4.0K    /opt
du: cannot access ‘/proc/3497/task/3497/fd/4’: No such file or directory
du: cannot access ‘/proc/3497/task/3497/fdinfo/4’: No such file or directory
du: cannot access ‘/proc/3497/fd/4’: No such file or directory
du: cannot access ‘/proc/3497/fdinfo/4’: No such file or directory
0    /proc
16M    /root
436K    /run
0    /sbin
4.0K    /srv
0    /sys
32K    /tmp
1.9G    /usr
338M    /var

这样一级一级的查下去,就会发现哪个文件把磁盘占满了,再去找这个文件是哪生成的。

0%