码迷,mamicode.com
首页 > 其他好文 > 详细

为什么系统的swap变高了

时间:2019-01-22 14:20:02      阅读:268      评论:0      收藏:0      [点我收藏+]

标签:应对   方式   one   没有   inux   文件   free   回收   应用   

一:当发生内存泄漏,或者运行了大内存的应用程序,导致系统的内存资源紧张时,系统又会如何应对

内存回收,OOM杀死进程

内存回收,比如缓存和缓冲区,就属于可回收内存,它们在内存管理中,通常被叫做文件页。

而应用程序修改过,并且暂时没有写入磁盘的数据(也就是脏页),就得先写入磁盘,然后才能进行内存的释放。

脏页有俩种方式写入磁盘:

      系统调用fsync,  内核调用pdflush

程序动态分配的堆内存,叫匿名页。也是linux的swap机制。

有新的大块内存分配请求时,剩余内存不足,这里就会直接内存回收。

还有一个专门的内核线程来定期回收内存,也就是kswapd0.

技术分享图片

技术分享图片

NUMA模型

技术分享图片

 

 

 $ numactl --hardware
available: 1 nodes (0)
node 0 cpus: 0 1
node 0 size: 7977 MB
node 0 free: 4416 MB
...

 

$ cat /proc/zoneinfo
...
Node 0, zone   Normal
 pages free     227894
       min      14896
       low      18620
       high     22344
...
     nr_free_pages 227894
     nr_zone_inactive_anon 11082
     nr_zone_active_anon 14024
     nr_zone_inactive_file 539024
     nr_zone_active_file 923986
...

 

为什么系统的swap变高了

标签:应对   方式   one   没有   inux   文件   free   回收   应用   

原文地址:https://www.cnblogs.com/hanguocai/p/10303200.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!