跳到内容
Caiden's Blog
返回

Linux 磁盘占用空间分析

Linux 分析磁盘空间占用情况常规步骤

一、硬盘状况概览 (lsblk)

进入机器上,先看看硬盘是多大,硬盘分区情况,有个大概概念,命令:lsblk(List block devices)

[root@localhost /]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0  120G  0 disk
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0  119G  0 part
  ├─centos-root 253:0    0 99.2G  0 lvm  /
  ├─centos-swap 253:1    0  9.8G  0 lvm  [SWAP]
  └─centos-home 253:2    0   10G  0 lvm  /home
sr0              11:0    1  4.2G  0 rom  /run/media/root/CentOS 7 x86_64

解释:

二、查看磁盘分区占用情况 (df)

命令 df 就是 disk free,查看硬盘空闲空间使用 使用 df -Th 命令可以展示出当前的文件系统和分区空间占用情况,看看是哪个分区满了 参数含义:

[ root@localhost /]# df -Th
文件系统                类型      容量     已用   可用 已用% 挂载点
/dev/mapper/centos-root xfs       100 G   43 G   57 G   43% /
devtmpfs                devtmpfs  9.8 G     0  9.8 G    0% /dev
tmpfs                   tmpfs     9.8 G     0  9.8 G    0% /dev/shm
tmpfs                   tmpfs     9.8 G  9.1 M  9.8 G    1% /run
tmpfs                   tmpfs     9.8 G     0  9.8 G    0% /sys/fs/cgroup
/dev/sda 1               xfs      1014 M  178 M  837 M   18% /boot
/dev/mapper/centos-home xfs        10 G   42 M   10 G    1% /home
tmpfs                   tmpfs     2.0 G  4.0 K  2.0 G    1% /run/user/42
tmpfs                   tmpfs     2.0 G   32 K  2.0 G    1% /run/user/0
/dev/sr 0                iso 9660   4.3 G  4.3 G     0  100% /run/media/root/CentOS 7 x 86_64

这个里面只需要关注 centos-root 和 centos-home 这两个主要目录的占用率就行了,上面已经看到硬盘的 sda2 分区里面,分了三个逻辑分区,swap 是交换分区,给内存不够的时候用的,所以只需要关注另外两个逻辑分区,一个挂到了根目录下,一个挂到了 home 下。 下面对于其他的文件系统及挂载点也做一下解释:

三、分析目录下文件占用情况 (du)

使用 du (disk usage) 命令,可以方便的查看文件占用情况,分析当前哪个文件或目录占用空间大 命令: du / -lh --max-depth=1 --exclude=proc 命令格式:du [dir] [params] 参数解释:列出根目录下各个目录的空间占用情况,并略过 proc 目录

[ root@localhost /]# du / -lh --max-depth=1 --exclude=proc
146 M    /boot
0       /dev
9.6 M    /home
4.3 G    /run
0       /sys
37 M     /etc
28 M     /root
2.8 G    /var
8.5 M    /tmp
5.4 G    /usr
0       /media
0       /mnt
35 G     /opt
0       /srv
47 G     /

这个就展示了当前根目录下各个目录的大小占用情况,最后一行是根目录总占用空间大小,通过这里可以进一步分析是哪个目录占用空间过大,比如说可以进入到 opt 目录下进一步使用 du 命令( du . -lh --max-depth=1 )继续查看是哪个文件夹或文件占用空间大

参考:

  1. https://www.cnblogs.com/jing99/p/10487174.html
  2. https://plantegg.github.io/2017/10/31/%E7%A3%81%E7%9B%98%E7%88%86%E6%8E%89%E7%9A%84%E5%87%A0%E7%A7%8D%E6%83%85%E5%86%B5/

分享到:

上一篇
SpringBoot自动创建Kafka Topic
下一篇
N1盒子折腾记