基础:为什么系统的swap变高了
引入
问题:当发生了内存泄露,或者运行了大内存的应用程序,导致系统的内存资源紧张时,系统会怎么应对呢?
OOM杀死进程内存回收
问题:什么是OOM
OOM指的是系统杀死占用大量内存的进程,释放这些内存,然后再分配给其他更需要的进程。
问题,什么是内存回收。
内存回收,指的是系统释放掉可以回收的内存,比如缓存和缓冲区,就属于可回收內存。它们在内存管理中,通常被叫做文件页
大部分文件页,都可以直接回收,以后有需要时,再从磁盘重新读取就可以了。而那些被应用程序修改过,并且暂时还没有写入磁盘的数据(也就是脏页),就必须先写入磁盘,然后才能进行内存释放
这些脏页,一般可以通过两种方式写入磁盘:
可以在应用程序中,通过系统调用fsync,把脏页同步到磁盘中也可以交给系统,由内核线程pdfflush负责这些脏页的刷新
除了缓存和缓冲区,通过内存映射获取的文件映射页,也是一种常见
共有 0 条评论