Linux磁盘管理好坏直接关系到整个系统的性能问题。
基础概念
文件存储在磁盘上,磁盘的最小存储单位叫sector(扇区),每个sector存储512个字节。操作系统读取硬盘的时候,为了提升效率,会一次性连续读取多个sector,即block(块)。block大小常见的有1KB,2KB,4KB,block在linux中常设置为4KB,即连续8个sector。
【扇区与块】
物理层面,一个磁盘按层次分为磁盘组合->单个磁盘->某一盘面->某一磁道->某一扇区。每个磁盘有多条同心圆似的磁道,磁道被分割成多个部分,每部分弧长加到圆心的半径形成一个扇形,叫扇区。扇区是磁盘中的最小物理存储单位。
逻辑层面,磁盘块(虚拟)是操作系统中最小的逻辑存储单位。操作系统与磁盘打交到的最小单位是磁盘块。一个块大小=一个扇区大小*2的n次方
【4K对齐】
随着时代发展,硬盘容量不断扩展,每个扇区512字节改为每个扇区4096 个字节
【块与页】
操作系统经常与内存和硬盘这两种存储设备进行通信,类似于“块”的概念,都需要一种虚拟的基本单位。所以,与内存操作,是虚拟一个页的概念来作为最小单位。与硬盘打交道,就是以块为最小单位。
df命令
检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
df [OPTION]... [FILE]...
- -a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;
- -k :以 KBytes 的容量显示各文件系统;
- -m :以 MBytes 的容量显示各文件系统;
- -h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
- -H :以 M=1000K 取代 M=1024K 的进位方式;
- -T :显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;
- -i :不用硬盘容量,而以 inode 的数量来显示
root@ryj:/opt/modules# df -h
Filesystem Size Used Avail Use% Mounted on
udev 32G 0 32G 0% /dev
tmpfs 6.3G 1.1M 6.3G 1% /run
/dev/vda1 97G 21G 76G 22% /
tmpfs 32G 0 32G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 32G 0 32G 0% /sys/fs/cgroup
/dev/vda15 105M 3.9M 101M 4% /boot/efi
/dev/loop5 32M 32M 0 100% /snap/snapd/10707
/dev/loop1 56M 56M 0 100% /snap/core18/1944
/dev/loop4 32M 32M 0 100% /snap/snapd/10492
/dev/loop6 70M 70M 0 100% /snap/lxd/19032
/dev/loop2 70M 70M 0 100% /snap/lxd/19188
/dev/loop3 56M 56M 0 100% /snap/core18/1988
tmpfs 6.3G 0 6.3G 0% /run/user/1001
du命令
Linux du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看
Usage: du [OPTION]... [FILE]...
or: du [OPTION]... --files0-from=F
- -a :列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已。
- -h :以人们较易读的容量格式 (G/M) 显示;
- -s :列出总量而已,而不列出每个各别的目录占用容量;
- -S :不包括子目录下的总计,与 -s 有点差别。
- -k :以 KBytes 列出容量显示;
- -m :以 MBytes 列出容量显示;
root@ryj:/opt/modules# du -h /opt/modules/uupm
66M /opt/modules/uupm/uupm-api-user
70M /opt/modules/uupm/uupm-api
56K /opt/modules/uupm/uupm-service-user/db/V3.2.1
......
580K /opt/modules/uupm/uupm-service-platform/mapper
71M /opt/modules/uupm/uupm-service-platform
447M /opt/modules/uupm