Linux 内存管理minor,major缺页的区别
在 Linux 内存管理中,
minor page fault 和
major page fault 是两种不同的缺页类型,它们的主要区别在于是否涉及磁盘 I/O:
1.
Minor Page Fault(轻微缺页):
发生在进程访问的页面已经在内存中,但尚未建立映射关系。
只需要更新页表,不涉及磁盘 I/O,因此开销较小。
例如,当一个进程访问共享内存或已经加载到内存中的页面时,会触发 minor page fault。
2.
Major Page Fault(严重缺页):
发生在进程访问的页面不在内存中,需要从磁盘加载。
由于涉及磁盘 I/O,处理时间较长,可能影响系统性能。
例如,当一个进程首次访问某个未加载的文件或程序代码时,会触发 major page fault。
你可以通过
time -v <command> 或
ps -eo min_flt,maj_flt,cmd | more 来查看进程的 minor 和 major page fault 计数⁽¹⁾⁽²⁾。
Sources:
[1]
3.Linux内存管理----进程中的内存消耗、泄露_linux如何查major fault和minor fault-CSDN博客[2]
page fault的两种区别(major、minor) - 墨天轮