服务器测评网
我们一直在努力

Linux如何查看分区大小,查看linux分区大小命令是什么?

在Linux系统运维与服务器管理中,精准掌握磁盘分区的状态是保障服务稳定性的基础。查看Linux分区大小最核心且高效的命令组合是 df(查看文件系统使用情况)和 lsblk(查看块设备树状结构),辅以 fdisk 进行底层细节确认。 这三个工具覆盖了从日常监控到深度排障的所有场景,能够帮助管理员快速识别容量瓶颈、挂载点错误以及分区规划不合理等问题。

Linux如何查看分区大小,查看linux分区大小命令是什么?

使用 df 命令查看文件系统磁盘使用情况

df(Disk Free)是Linux环境下查看分区剩余空间和已用空间最常用的命令,它直接读取文件系统超级块中的元数据,因此反应速度极快,对于大多数日常运维场景,这是首选工具。

为了获得更直观的阅读体验,建议始终配合 -h(Human-readable)参数使用,该参数会将字节自动转换为KB、MB或GB。-T 参数用于显示文件系统类型(如ext4、xfs),这对于判断分区是否支持扩容或特定特性非常关键。

核心命令示例:

df -hT

输出结果解读:
执行该命令后,重点关注以下几列信息:

  • Filesystem:数据来源的物理设备或逻辑卷路径。
  • Size:分区的总容量。
  • Used:已使用的物理空间。
  • Avail:剩余的可用空间。
  • Use%:使用百分比。当该数值超过90%时,系统性能可能会因磁盘碎片增加而下降,且存在无法写入日志的风险,需要立即清理或扩容。
  • Mounted on:挂载点,即分区在系统目录树中的入口。

进阶技巧:
如果发现磁盘空间已满,但通过常规删除文件释放空间后,Use% 并没有下降,这通常是因为被删除的文件仍被进程占用(文件句柄未释放),此时可以使用 lsof | grep deleted 查找并重启相关进程,或者使用 df -i 检查 Inode(索引节点)是否耗尽,在某些大量小文件的应用场景下,Inode耗尽会导致无法创建新文件,尽管物理空间还有剩余。

使用 lsblk 命令查看块设备与分区结构

df 侧重于文件系统层面的空间使用不同,lsblk(List Block Devices)侧重于展示物理存储设备的层级结构,它能清晰地显示磁盘与分区之间的从属关系,以及它们是否被挂载。

Linux如何查看分区大小,查看linux分区大小命令是什么?

核心命令示例:

lsblk -f

添加 -f 参数可以显示文件系统类型、UUID和挂载点,这是将分区信息写入 /etc/fstab 实现开机自动挂载时的必要参考。

输出结果解读:

  • NAME:设备名称,如 sdasda1nvme0n1
  • MAJ:MIN:主设备号和次设备号。
  • FSTYPE:分区格式。
  • MOUNTPOINT:当前挂载位置。如果某个分区有SIZE但没有MOUNTPOINT,说明该分区尚未被系统使用。
  • SIZE:分区的物理总大小。

lsblk 的优势在于其树状结构输出,它可以直观地展示 sda 磁盘下包含了 sda1(boot分区)、sda2(LVM物理卷)以及逻辑卷的分布情况,在处理多硬盘环境或识别新插入的硬盘时,lsblkdf 更具全局视角。

使用 fdiskparted 查看底层分区详情

当需要对磁盘进行重新分区或查看更底层的扇区信息时,fdisk 是传统的专业工具,虽然它主要用于修改分区表,但配合 -l 参数列出分区表也是查看硬盘原始信息的有效手段。

核心命令示例:

Linux如何查看分区大小,查看linux分区大小命令是什么?

sudo fdisk -l

适用场景:

  • 查看未挂载分区df 只能显示已挂载的文件系统空间,而 fdisk -l 会列出磁盘上所有的分区,包括那些没有挂载点的“裸”分区。
  • 确认分区类型:查看分区表类型是MBR(DOS)还是GPT,在现代大容量硬盘(>2TB)服务器中,必须使用GPT分区表,fdisk 的输出头部会明确显示 Disklabel type: gpt
  • 识别设备标识符:在配置自动化脚本或ASM存储时,fdisk 提供的 UUID 和扇区起始结束位置信息更为精确。

注意: 对于大于2TB的磁盘,fdisk 可能不再适用,建议使用支持GPT的 parted 工具进行查看和操作,使用 parted /dev/sdb print 即可获取详细信息。

深度排障与空间管理建议

在实际生产环境中,仅仅知道数字是不够的,还需要理解数字背后的逻辑。

  1. 逻辑卷管理(LVM)的特殊性:如果服务器使用了LVM,直接看 /dev/sda2 的大小可能没有意义,因为实际的空间可能分配给了 /dev/mapper/centos-root,此时应优先使用 lvs(Logical Volume Scan)和 vgs(Volume Group Scan)命令来查看逻辑卷的分配情况,这比单纯依赖 lsblk 更能反映实际的可伸缩空间。
  2. Reserved Space(保留空间)机制:Linux默认为root用户预留5%的磁盘空间,以防止普通用户进程填满磁盘导致系统崩溃,这意味着当 df 显示Use%为100%时,实际上root用户仍能写入数据,对于大容量硬盘(如10TB),5%的预留空间非常巨大,可以使用 tune2fs -m 命令调整预留比例,将更多空间释放给业务使用。
  3. 目录级空间分析:当发现根分区 空间不足时,不要盲目删除文件,应使用 du -sh /* | sort -rh 命令逐层向下排查,定位具体是哪个目录(如 /var/log/home)占用了大量空间,这种“由面到点”的分析方法是解决磁盘爆满问题的标准流程。

相关问答

Q1:为什么使用 dfdu 命令查看同一个目录的大小,结果不一致?
A: 这是一个经典的Linux空间问题,通常是因为被删除的文件仍被某个进程占用,导致文件描述符未释放,df 统计的已用空间包含这部分数据,而 du 遍历文件系统时找不到该文件(已被删除),因此不计入,解决方法是使用 lsof | grep deleted 找到占用文件的进程并重启该进程,或者通过 /proc 文件系统清空该文件句柄。

Q2:如何在不重启服务器的情况下识别并挂载新添加的硬盘?
A: 首先使用 lsblkecho "-" > /sys/class/scsi_host/host0/scan(根据实际主机号调整)重新扫描SCSI总线,让系统识别新硬件,识别后,使用 fdisk -l 确认新盘设备名(如 /dev/sdb),然后进行分区、格式化(如 mkfs.ext4 /dev/sdb1),最后创建挂载点并执行 mount 命令即可。
能帮助您更专业地管理Linux服务器存储,如果您在查看分区大小时遇到特殊的报错信息,欢迎在评论区留言,我们一起探讨解决方案。

赞(0)
未经允许不得转载:好主机测评网 » Linux如何查看分区大小,查看linux分区大小命令是什么?