RHEL6 で、メモリを解放せず、スラブが size-192 および size-256 にまで増大するカーネルが、NFS (特に nfs_alloc_fattr および nfs_alloc_fhandle) に関連すると推測される
Issue
- プロダクションマシンの 1 つで不具合が発生しています。そのマシンでは、RHEL6.3 がカーネル 2.6.32-279.el6.x86_64 で実行しており、48GB の RAM と、66GB のスワップがあります。
- 最初はカーネル 2.6.32-279.el6 で実行しており、その後 2.6.32-358.6.2.el6 にアップデートしましたが、現在も問題は発生しています。
- マシンで大量のプロセスが実行しており、物理メモリと仮想 (スワップ) メモリの両方がなくなり oom killer が発生しました。
- その後、マシンが非常に遅くなりロードが 100 近くになり、スワッピングが常時発生しています。
- メモリを大量に使用している (>200MB) プロセスをすべて kill しましたが、メモリはあまり解放されません。ほとんどのプロセスを kill し、シングルユーザーモードに変更した後も状況は変わりません。
- slabtop は、size-192 および size-256 がそれぞれ 20GB を使用していることを示しています。
slabtop | grep -n 20
Active / Total Objects (% used) :206100532 / 207069757 (99.5%)
Active / Total Slabs (% used) :12058828 / 12058901 (100.0%)
Active / Total Caches (% used) :119 / 195 (61.0%)
Active / Total Size (% used) :45136325.42K / 45252935.30K (99.7%)
Minimum / Average / Maximum Object :0.02K / 0.22K / 4096.00K
OBJS ACTIVE USE OBJ SIZE SLABS OBJ/SLAB CACHE SIZE NAME
102813400 102813219 16% 0.19K 5140670 20 20562680K size-192
102810420 102810092 16% 0.25K 6854028 15 27416112K size-256
Environment
- Red Hat Enterprise Linux 6
- 2.6.32-279.el6 以降 2.6.32-358.23.2.el6 より前のカーネル
- NFSv3 クライアント
- automount
- NFS サーバー: 自動マウントするために NIS を使用する NetApp ストレージ
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.