加载中...

缺页异常(page fault)是 CPU 访问某虚拟地址时,MMU 发现对应页表项无效或权限不符而触发的同步异常,由内核的缺页处理程序介入解决,是虚拟内存诸多机制的统一入口。
软缺页(minor fault):页已在物理内存(如页缓存中),只需建立映射,开销小;硬缺页(major fault):需从磁盘读入数据(换入或读文件),开销大;无效访问:地址不属于任何合法区域或权限不符,内核向进程发送 SIGSEGV。
按需调页(可执行文件加载后首次访问才读入)、写时复制(fork 后首写触发复制)、mmap 文件映射、交换空间换入、栈自动增长等,全部依赖缺页异常驱动。
ps 与 /proc/<pid>/stat 可查看进程的 minflt/majflt 计数;majflt 持续偏高通常意味着内存不足引发频繁换入,是性能诊断的重要信号。

登录 后参与讨论
暂无讨论,来发表第一条评论吧