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) - 墨天轮

Comments

Be the first to add a comment