Ubuntu硬盘空间管理笔记

2021年2月13日

查看所有硬盘

lsblk
NAME                      MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0                       7:0    0  31.1M  1 loop /snap/snapd/11036
loop1                       7:1    0  69.8M  1 loop /snap/lxd/19032
loop2                       7:2    0  55.4M  1 loop /snap/core18/1944
loop4                       7:4    0  69.9M  1 loop /snap/lxd/19188
loop5                       7:5    0  31.1M  1 loop /snap/snapd/10707
loop6                       7:6    0  55.5M  1 loop /snap/core18/1988
sda                         8:0    0 223.6G  0 disk
├─sda1                      8:1    0     1M  0 part
├─sda2                      8:2    0     1G  0 part /boot
└─sda3                      8:3    0 222.6G  0 part
  └─ubuntu--vg-ubuntu--lv 253:0    0 111.3G  0 lvm  /
sdb                         8:16   0 931.5G  0 disk
├─sdb1                      8:17   0     1M  0 part
└─sdb2                      8:18   0 931.5G  0 part

发现本机有两块硬盘通过SCSI(小型计算机系统接口)连接,Linux把硬盘按a、b、c这样命名,所以这两块硬盘名为sda和sdb(sd表示SCSI)。其中sda分为三个区,sda1到sda3。[1]sda3被LVM管理,sda3总共有222.6G,但只给LVM 111.3G,这111.3G挂载到了根目录。另外,sdb的931.5G没有挂载到任何目录。

loop是回环设备。

查看挂载点大小

df -h
Filesystem                         Size  Used Avail Use% Mounted on
udev                                63G     0   63G   0% /dev
tmpfs                               13G  4.0M   13G   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv  110G  101G  3.2G  97% /
tmpfs                               63G   12K   63G   1% /dev/shm
tmpfs                              5.0M  4.0K  5.0M   1% /run/lock
tmpfs                               63G     0   63G   0% /sys/fs/cgroup
/dev/sda2                          976M  248M  662M  28% /boot
/dev/loop2                          56M   56M     0 100% /snap/core18/1944
/dev/loop1                          70M   70M     0 100% /snap/lxd/19032
/dev/loop4                          70M   70M     0 100% /snap/lxd/19188
/dev/loop5                          32M   32M     0 100% /snap/snapd/10707
/dev/loop6                          56M   56M     0 100% /snap/core18/1988
/dev/loop0                          32M   32M     0 100% /snap/snapd/11036
tmpfs                               13G     0   13G   0% /run/user/1005
tmpfs                               13G  4.0K   13G   1% /run/user/1002
tmpfs                               13G  4.0K   13G   1% /run/user/1001

如lsblk所示,/被LVM管理,总大小为110G。

/dev占用63G空间。其实,/dev被udev管理,后者是Linux的设备管理器。默认情况下tmpfs的大小是内存大小的一般。[2]

free -g
              total        used        free      shared  buff/cache   available
Mem:            125           3         100           0          21         120
Swap:             7           0           7

发现该系统正好有125G内存,所以/dev占用63G是正常的。

那为什么/dev需要占用空间呢?据说以前/dev不是虚拟目录,老式程序会往/dev写东西,所以/dev的容量不能为0。

查看一个文件夹里的所有目录的大小

[bash-sudo-option]

du -xhd 1 | sort -h

-x: –one-file-system
-h: print sizes in human readable format
-d: max depth

注:btrfs系统中,每个volumn算作不同的file system;可由stat查看。如果file system的id不同,du视其为不同的file system。

参考资料

  1. Anthony Lissot. Linux Partition HOWTO. . 2005-12-06 [2021-02-14].
  2. . 0% usage on udev (/dev) partition. . [2021-02-14].