一觉醒来发现服务器磁盘满了,不知道什么情况,设置的报警没起作用。第一件事不是去查磁盘为什么会满,而是很扩容让线上服务正常运行,然后慢慢找原因。
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
这样一级一级的查下去,就会发现哪个文件把磁盘占满了,再去找这个文件是哪生成的。