这是内核内存泄漏吗? (过多的活动/非活动页面 v 缓存)

这是内核内存泄漏吗? (过多的活动/非活动页面 v 缓存)

我有一台机器内存泄漏(即使在应用程序重新启动后) - 两台机器运行具有相似工作负载的相似应用程序,4.x 内核版本略有不同

Active(file)明显的区别是+ Inactive(file)+shmemCached+相比的总数(来自 /proc/meminfo)Buffer不同的对于坏机器和相同的对于好的(和其他)机器。

这些值应该相同吗?这看起来像内核错误/泄漏吗?

更多详情... /proc/meminfo(换算成MB)

 Bad m   Good m        
 48042    48042    mB    MemTotal:
   376      495    mB    MemFree:
 25904    26086    mB    MemAvailable:
     0        0    mB    Buffers:
  3589    11034    mB    Cached:
    29       69    mB    SwapCached:
 31825    24374    mB    Active:
 14010     5505    mB    Inactive:
 19263    19191    mB    Active(anon):
  1889     2090    mB    Inactive(anon):
 12561     5183    mB    Active(file):
 12121     3414    mB    Inactive(file):
   655     2436    mB    Shmem:

一些计算...

  4877    28240    mB    Cache+Slab                    Mem:buffer/cache
 42788    19307    mB    MemTotal-MemFree-Cached-Slab  Mem:used         

 25338    11034    mB    Active(file)+Inactive(file)+shmem
  3589    11034    mB    Cached
-21750        0    mB    diff

进一步调查发现,如果运行类似此脚本的脚本(仅在坏内核上),它将导致差异增加,直到 free 大约为零,然后保持平衡:

#!/bin/ksh

while true
do
  X=`/bin/echo 1`
done

相关内容