GNU/Linux >> Belajar Linux >  >> Linux

Kebocoran Memori yang Membingungkan. Apa yang menggunakan ~10GB memori pada sistem ini?

Saya menjalankan kotak dengan memori 32 GB, dan perbedaan yang mencolok adalah nilai DirectMap4k;

DirectMap4k:      493076 kB
DirectMap2M:     7862272 kB
DirectMap1G:    27262976 kB

vs milikmu;

DirectMap4k:    11182080 kB
DirectMap2M:     4677632 kB

Ini mungkin titik awal.. Googling menunjukkan bahwa nilai ini mungkin dipengaruhi oleh alokasi ke VPS dari host... apakah Anda menjalankan mesin ini di server virtual?

Bisa jadi server host tidak memiliki cukup RAM dan mengacaukan keluaran /proc/meminfo .

Juga, saya akan menempelkan output dari smem -tw , karena itu mungkin menentukan kebocoran memori ada di kernel atau aplikasi;

# smem -tw
Area                           Used      Cache   Noncache 
firmware/hardware                 0          0          0 
kernel image                      0          0          0 
kernel dynamic memory      11297432   10738716     558716 
userspace memory            6144832    1182184    4962648 
free memory                15470032   15470032          0 
----------------------------------------------------------
                           32912296   27390932    5521364 

smem membantu saya melacak masalah ke kernel, dan saya yakin driver NVIDIA adalah penyebabnya. Semuanya terlihat baik setelah meningkatkan versi ke 367.35.

Referensi:

  • https://devtalk.nvidia.com/default/topic/952317/huge-memory-leak-/
  • https://askubuntu.com/questions/731677/out-of-memory-issue

Linux
  1. Apa itu ioremap()

  2. Apa yang rentan tentang kode C ini?

  3. Apa itu namespace UTS?

  1. Apa runlevel sistem Linux saat ini?

  2. Apa sebenarnya yang dilakukan init?

  3. Sesuatu memakan semua memori (saya menduga kebocoran memori pada beberapa aplikasi). Bagaimana cara mendeteksi apa?

  1. Deteksi Sistem Init Menggunakan Shell?

  2. Server DNS apa yang saya gunakan?

  3. Periksa Beban Sistem di Linux