kswapd 占用 100% 的一个核心,系统中没有交换。可能是 _raw_spin_lock 内核错误。很长时间没有解决方案

kswapd 占用 100% 的一个核心,系统中没有交换。可能是 _raw_spin_lock 内核错误。很长时间没有解决方案

有时 kswapd0 会占用一个核心的 100%。此问题在所有 4.0 以上内核中都会发生。drop_caches 不起作用。添加 swap 不起作用。问题出现的时间没有规律。它可以等待 1-2 周。它可能一天出现两次。大多数情况下,它会存在很长时间,直到我重新启动服务器。很少情况下它可以在不重新启动的情况下自行解决。

更换电源没有改变任何东西。RAM 测试运行了一整夜,没有发现任何东西。

在我的研究过程中,我尝试了较旧的内核(一些 3.0+) - 没有结果,问题仍然存在。

一些 perftop 输出:

这是加载了 i915 内核模块的 perftops:

+   98,22%     0,90%  [kernel]             [k] kswapd
+   93,07%     0,32%  [kernel]             [k] shrink_zone
+   87,41%     3,71%  [kernel]             [k] shrink_slab
+   56,55%     1,11%  [i915]               [k] i915_gem_shrinker_scan
+   50,65%    46,24%  [i915]               [k] i915_gem_shrink
+   23,28%     4,32%  [kernel]             [k] super_cache_count
+   18,22%     2,33%  [kernel]             [k] list_lru_count_one
+   15,26%     0,00%  [kernel]             [k] ret_from_fork
+   15,26%     0,00%  [kernel]             [k] kthread
+   11,84%    11,83%  [kernel]             [k] _raw_spin_lock

  46,24%  [i915]            [k] i915_gem_shrink
  12,11%  [kernel]          [k] _raw_spin_lock
   4,28%  [kernel]          [k] super_cache_count
   3,74%  [i915]            [k] i915_vma_unbind
   3,67%  [kernel]          [k] shrink_slab
   3,20%  [i915]            [k] i915_gem_object_put_pages
   2,78%  [kernel]          [k] __list_lru_count_one.isra.0

这是将 i915 列入黑名单后的情况。除了以下输出外,它不会以任何方式改变此错误行为:

    +   97,30%     2,32%  [kernel]             [k] kswapd
    +   83,40%     0,65%  [kernel]             [k] shrink_zone
    +   69,79%     7,77%  [kernel]             [k] shrink_slab
    +   59,73%    10,66%  [kernel]             [k] super_cache_count
    +   46,97%     5,76%  [kernel]             [k] list_lru_count_one
    +   30,73%    30,73%  [kernel]             [k] _raw_spin_lock
    +   23,84%     0,00%  [kernel]             [k] ret_from_fork
    +   23,84%     0,00%  [kernel]             [k] kthread
    +    9,63%     7,23%  [kernel]             [k] __list_lru_count_one.isra.0
    +    6,18%     0,82%  [kernel]             [k] zone_balanced
    +    5,05%     2,28%  [kernel]             [k] shrink_lruvec

  30,63%  [kernel]             [k] _raw_spin_lock
  10,84%  [kernel]             [k] super_cache_count
   7,66%  [kernel]             [k] shrink_slab
   7,28%  [kernel]             [k] __list_lru_count_one.isra.0
   5,29%  [kernel]             [k] list_lru_count_one
   3,69%  [kernel]             [k] memcg_cache_id
   3,62%  [kernel]             [k] _raw_spin_unlock
   2,63%  [kernel]             [k] zone_watermark_ok_safe
   2,53%  [kernel]             [k] mem_cgroup_iter
   2,44%  [kernel]             [k] shrink_lruvec
   2,36%  [kernel]             [k] kswapd
   1,35%  [kernel]             [k] _raw_spin_lock

相关内容