Disk space alarms usually trace back to a single filesystem, not the entire server. Mapping a busy directory to its mount point plus backing source keeps cleanup and capacity work focused on the storage that is actually full.

Linux builds the directory tree by attaching filesystems at mount points recorded in /proc/self/mountinfo. The df command reports filesystem capacity for whatever mount contains a path, while findmnt reveals the matching mount entry, including the source device or network export, filesystem type, and mount options.

Filesystem percentages from df do not indicate which subdirectory is consuming space, and nested mounts can hide inside a larger path (for example, a separate /var/log mount under /var). Non-root accounts can also see reduced available space on filesystems that reserve blocks, so run checks as a privileged user when numbers look inconsistent.

Steps to identify a mount point from disk usage with df and findmnt in Linux:

  1. Check filesystem usage for a path.
    $ df -hT /
    Filesystem     Type     Size  Used Avail Use% Mounted on
    /dev/mapper/ubuntu--vg-ubuntu--lv ext4   30G  6.1G   23G  22% /

    The Mounted on column identifies the mount point for the filesystem that contains the path.

  2. Resolve the mount table entry for the same path.
    $ findmnt --target / --output TARGET,SOURCE,FSTYPE,OPTIONS
    TARGET SOURCE  FSTYPE  OPTIONS
    /      /dev/mapper/ubuntu--vg-ubuntu--lv ext4   rw,relatime

    The SOURCE field may be a block device, a device-mapper path, or a remote export such as server:/share.

  3. List submounts below the path to detect nested filesystems.
    $ findmnt --target / --submounts --output TARGET,SOURCE,FSTYPE | head -n 10
    TARGET                  SOURCE                                                                                                             FSTYPE
    /                       /dev/mapper/ubuntu--vg-ubuntu--lv                                                                                  ext4
    ├─/sys                  sysfs                                                                                                              sysfs
    │ ├─/sys/firmware/efi/efivars                                                                                                              efivarfs
    │ ├─/sys/kernel/security                                                                                                                   securityfs
    │ ├─/sys/fs/cgroup                                                                                                                         cgroup2
    │ ├─/sys/fs/pstore                                                                                                                         pstore
    │ ├─/sys/fs/bpf                                                                                                                            bpf
    │ ├─/sys/kernel/debug                                                                                                                      debugfs
    │ ├─/sys/kernel/tracing                                                                                                                    tracefs

    Run the same checks on any listed submount to avoid mixing usage across different filesystems.

  4. Locate the SOURCE device from findmnt in lsblk output.
    $ lsblk --ascii --paths --output NAME,TYPE,SIZE,FSTYPE,MOUNTPOINTS | head -n 12
    NAME           TYPE   SIZE FSTYPE MOUNTPOINTS
    /dev/loop0                            loop    1G             
    |-/dev/loop0p1                        part  256M ext4        /root/disk
    |-/dev/loop0p2                        part  128M             /mnt/uuidtest
    `-/dev/loop0p3                        part  256M ext4        /mnt/uuiddemo
    /dev/loop1                            loop  300M ext4        
    /dev/sda                              disk   64G             
    |-/dev/sda1                           part    1G vfat        /boot/efi
    |-/dev/sda2                           part    2G ext4        /boot
    `-/dev/sda3                           part 60.9G LVM2_member 
      `-/dev/mapper/ubuntu--vg-ubuntu--lv lvm  30.5G ext4        /
    /dev/sr0                              rom  1024M             

    Network mounts (for example, NFS, SMB) do not appear in lsblk because they are not local block devices.

  5. Display the UUID for a block device or disk image when an /etc/fstab entry uses UUID=.
    $ sudo blkid /root/sg-work/blkid-demo.img
    /root/sg-work/blkid-demo.img: UUID="6d35a8fe-4bd4-4f24-b88d-e0c5b51fb74b" BLOCK_SIZE="4096" TYPE="ext4"