Linux物理内存指的是计算机硬件中实际安装的内存条(RAM)所提供的存储空间,是系统可以直接寻址的硬件存储资源,所有运行中的程序和数据最终都需要加载到物理内存中才能被CPU处理。

物理内存的硬件基础
物理内存的最小存储单位是内存单元,每个单元都有唯一的物理地址,CPU通过物理地址总线可以直接访问这些单元。Linux系统启动时会首先检测硬件上的物理内存总量,然后通过内核的内存管理模块对这部分资源进行统一调度。
物理内存和虚拟内存的核心区别在于:物理内存是真实存在的硬件资源,虚拟内存是系统通过软件技术模拟出来的逻辑地址空间,虚拟内存最终需要映射到物理内存上才能生效。
Linux对物理内存的管理方式
物理内存的分页管理
Linux内核会将物理内存划分为固定大小的页(通常是4KB),每个页是一个独立的分配单位。系统会通过页表记录虚拟内存页和物理内存页的映射关系,当程序访问虚拟地址时,CPU会通过页表查询到对应的物理地址,完成数据读写。
物理内存的分配与回收
当程序申请内存时,内核会从空闲的物理内存页中分配对应数量的页给程序使用;如果物理内存不足,内核会触发内存回收机制,将长时间未使用的内存页中的数据换出到交换空间(swap),释放出物理内存供新的请求使用。
常用物理内存查看命令
可以通过free命令查看系统物理内存的使用情况,示例如下:
# 查看物理内存使用情况,以人类可读的格式显示 free -h # 输出示例 # total used free shared buff/cache available # Mem: 7.7G 2.1G 3.2G 123M 2.4G 5.1G # Swap: 2.0G 0B 2.0G
输出结果中Mem行的total就是系统检测到的物理内存总量,used是已使用的物理内存,free是完全空闲的物理内存,available是系统可以分配给新程序使用的物理内存估值。
物理内存使用的常见误区
很多用户看到free命令显示的free值很小就认为内存不足,这其实是不准确的。Linux系统会将空闲的物理内存用来做缓存(buff/cache),用来缓存磁盘读写的数据,提升系统运行效率,这部分缓存可以在程序需要内存时被快速释放,属于可用的物理内存范畴。
只有当available值很低,同时系统出现频繁的swap换入换出操作时,才说明物理内存确实存在不足的问题,需要考虑增加内存或者优化运行的程序。
linux_physical_memory内存管理物理地址页表内存分配修改时间:2026-06-23 01:39:23