首页 > 试题广场 >

内存满了会发生什么?

[问答题]
内存满了会发生什么?
内存满了之后 会先进行进程回收 1后台内存回收 当超过水位后 会唤醒kswapd内核线程 异步执行回收内存操作 2直接内存回收 后台回收速度跟不上 会触发直接内存回收 同步释放内存阻塞 直到有空间 3如果直接内存回收后 还是赶不上 就触发oom Out of memory选择一个大内存的进程KiLL掉 如果还是不行 系统崩溃重启 内存回收 分为文件类和匿名类 文件类 包括内核缓存的文件数据和磁盘数据 如果没有写操作改变 直接释放 如果是脏页 需要写回磁盘 再释放 有IO操作 匿名类 如堆栈没有实际存储空间 而且极有可能再次使用 需要swap换到磁盘中 还是IO操作 需要时再写回内存
发表于 2025-05-30 15:18:37 回复(0)