【Linux 基础】df -h 的输出信息解读

df -h 的输出信息

bash 复制代码
xxx:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev             16G     0   16G   0% /dev
tmpfs           3.2G  792K  3.2G   1% /run
/dev/sda1        32G  1.7G   30G   6% /
tmpfs            16G     0   16G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs            16G     0   16G   0% /sys/fs/cgroup
/dev/sda15      105M  5.3M  100M   5% /boot/efi
tmpfs           3.2G     0  3.2G   0% /run/user/1000

信息解读

各列的含义如下:

  • Filesystem:文件系统名称。
  • Size:文件系统的总大小。
  • Used:已经使用的空间大小。
  • Avail:可用的空间大小。
  • Use%:已用空间的百分比。
  • Mounted on:文件系统挂载点。

详细解释如下:

  • udev :udev 是一个设备文件系统,用于设备管理。它的大小是 16G,但不占用实际磁盘空间。

  • tmpfs(/run) :tmpfs 是一种基于内存的文件系统,通常用于临时文件存储。

  • /dev/sda1 : 这是根文件系统,即根目录大小。

  • tmpfs(/dev/shm) :是一个基于内存的共享内存文件系统。shm 是 shared memory(共享内存),通常用于进程间通信(IPC),因为它可以提供快速的读写访问。

  • tmpfs (/run/lock):是一个用于锁文件的 tmpfs。锁文件是用于防止多个进程同时访问共享资源的一种机制。/run/lock 目录用于存储系统和应用程序的锁文件。这些锁文件确保在同一时间只有一个进程可以访问特定的资源,避免资源竞争和数据损坏。

关于锁文件的工作原理:

1.创建锁文件: 当一个进程需要访问一个共享资源时,它会首先尝试创建一个锁文件。这个锁文件通常位于 /run/lock 目录下,并且文件名通常与资源的名称相关联。

**2.检查锁文件:**在创建锁文件之前,进程会检查对应的锁文件是否已经存在。如果存在,表示该资源当前正被另一个进程使用。

**3.删除锁文件:**一旦进程完成了对资源的使用,它会删除锁文件,表示资源现在可以被其他进程访问。

  • tmpfs (/sys/fs/cgroup):这是用于 cgroup(控制组)管理的 tmpfs。详细的来讲, /sys/fs/cgroup 是 cgroup 文件系统的挂载点。通过这个文件系统,用户和管理员可以访问和管理 cgroup 的相关信息和控制接口。例如,可以创建新的 cgroup、配置资源限制(如内存限制、CPU 限制),以及查看当前 cgroup 的资源使用情况。

  • /dev/sda15:这是 EFI 系统分区。

  • tmpfs(/run/user/1000):这是为用户 1000(通常是当前登录用户)分配的 tmpf。

相关推荐
悠悠1213811 分钟前
微服务通信别只看性能:REST 与 gRPC 的 6 个选型判断和一次 502 故障复盘
运维·服务器
xiaoye-duck1 小时前
《Linux 网络编程》深入理解 IP 协议(二):网段划分、私有 IP 与 NAT 地址转换
linux·网络·ip
云老大-阿里云国际站代理商2 小时前
华为云国际站服务代理商:NAT网关怎么配?多台ECS共用公网IP要注意什么
服务器·华为云·云计算
zx_741484812 小时前
【Linux入门】Shell 函数、正则表达式与文本处理:cut 与 awk
linux·运维·正则表达式
Zenova EdgeOS2 小时前
Linux dmesg 工业边缘实战:内核日志过滤、持久化与故障定位
linux·运维·边缘计算·工业边缘·dmesg·内核日志
金士顿2 小时前
System.Text.Json Source Generator 深度解析:为什么 Native AOT 不喜欢反射
linux·asp.net core·arm64·net·native aot
wdfk_prog3 小时前
ROS教程08:从 TransportTCP::connect() 追到 TCPROS Connection Header、序列化与 Socket 数据传输
运维·缓存·docker·容器·ros
做运维的阿瑞3 小时前
Python 标准库汇总:分类速览与常用模块清单
linux·运维·python
百万蹄蹄向前冲4 小时前
密码都对Node.js却连不上Linux数据库
linux·mysql
彧azz4 小时前
Linux 网络编程学习总结
linux·网络·笔记·学习·面试