引起pagefault的原因
来源:互联网 发布:杭州淘宝开店培训 编辑:程序博客网 时间:2024/05/17 01:33
A page fault is a trap to the software raised by the hardware when a program accesses a page that is mapped in the virtual address space, but not loaded in physical memory.
- Reason for Fault - Result
- Accessing a page that isn’t resident in memory but is on disk in a page file or a mapped file -Allocate a physical page, and read the desired page from disk and into the relevant working set
- Accessing a page that is on the standby or modified list - Transition the page to the relevant process, session, or system working set
- Accessing a demand-zero page - Add a zero-filled page to the relevant working set
- Writing to a copy-on-write page - Make process-private (or session-private) copy of page, and replace original in process or system working set
Page faults can occur for a variety of reasons, as you can see above. Only one of them has to do with reading from the disk. If you try to allocate a block from the heap and the heap manager allocates new pages, then accesses those pages, you'll get a demand-zero page fault. If you try to hook a function in kernel32 by writing to kernel32's pages, you'll get a copy-on-write fault because those pages are silently being copied so your changes don't affect other processes.
yet you'll see soft page faults when memory is being shared between processes. Basically, if you have a memory-mapped file shared between two processes, when the second process loads the memory-mapped file, soft page faults are generated - the memory is already in physical RAM, but the operating system needs to fix up the memory manager's tables so that the virtual memory address in your process points to the correct physical page.详细:http://stackoverflow.com/questions/5684365/what-causes-page-faults
- 引起pagefault的原因
- 引起电脑死机的原因
- 引起广播风暴的原因
- 引起ERROR500的可能原因
- 引起缺陷的典型原因
- 引起进程调度的原因
- 引起进程调度的原因
- 引起 INSTALL_FAILED_DEXOPT 的另一种原因
- 下标方式引起的crash的原因
- 关于内存相关的pagefault--好东西,要转载
- 引起stat总是返回-1的原因
- 引起后台线程无法结束的原因
- 软件原因引起的死机解决办法
- 由硬件原因引起的电脑自动关机
- 引起索引失效的原因和解决方法
- tomcat+comet引起405可能的原因
- 引起网络广播风暴的原因
- 内存泄露的可能引起原因
- C语言运算优先级 简单记就是:! > 算术运算符 > 关系运算符 > && > || > 赋值运算符
- Northwind数据库结构说明
- C#中virtual 方法和abstract方法的区别
- jni lib so
- 查看Buffer Pool使用情况
- 引起pagefault的原因
- 卫星仿真工具包STK在遥感卫星仿真中的应用
- javascript中prototype的理解
- ios-非ARC项目转换成ARC
- 操作系统——pv之道
- ASP.NET自定义身份验证的实践(Page.User.Identity.Name的使用)
- 新浪微博-企业微博运营手册
- 深入理解const char*p,char const*p,char *const p,const char **p,char const**p,char *const*p,char**const p
- 這算不算是Linux的一個缺點?