GNU/Linux >> Belajar Linux >  >> Linux

Linux:cari tahu proses apa yang menggunakan semua RAM?

Di Linux di top proses Anda dapat menekan < tombol untuk menggeser jenis tampilan keluaran ke kiri. Secara default diurutkan berdasarkan %CPU jadi jika Anda menekan tombol 4 kali Anda akan mengurutkannya berdasarkan VIRT yang merupakan ukuran memori virtual yang memberikan jawaban Anda.

Cara lain untuk melakukannya adalah:

ps -e -o pid,vsz,comm= | sort -n -k 2

harus memberi Anda dan keluaran diurutkan berdasarkan proses ukuran virtual.

Ini versi panjangnya:

ps --everyone --format=pid,vsz,comm= | sort --numeric-sort --key=2

Tampilkan memori proses dalam megabita dan jalur proses.

ps aux  | awk '{print $6/1024 " MB\t\t" $11}'  | sort -n

Hanya catatan tambahan di server yang menunjukkan gejala yang sama tetapi masih menunjukkan kelelahan memori. Apa yang akhirnya ditemukan adalah sysctl.conf dari kotak dengan RAM 32 GB dan penyiapan untuk DB dengan halaman besar yang dikonfigurasi ke 12000. Kotak ini hanya memiliki RAM 2 GB sehingga menugaskan semua RAM gratis ke halaman besar (hanya 960 dari mereka). Menyetel halaman besar menjadi 10, karena toh tidak ada yang digunakan, membebaskan semua memori.

Pemeriksaan cepat /proc/meminfo untuk mencari setelan HugePages_ dapat menjadi awal yang baik untuk memecahkan masalah setidaknya satu memory hog yang tidak terduga.


Linux
  1. Linux – Bagaimana Cara Mengetahui Hard Disk Apa yang Ada di Sistem?

  2. Apa definisi sesi di linux?

  3. Apa perintah untuk menemukan prioritas proses di Linux?

  1. Versi Linux Apa yang Saya Jalankan? Inilah Cara Mengetahuinya

  2. Temukan Waktu Eksekusi Perintah Atau Proses Di Linux

  3. Apa urutan default dari jenis Linux?

  1. Bagaimana menemukan semua file yang jarang di Linux

  2. Di linux, apa arti semua nilai di atas perintah?

  3. Bagaimana cara mengetahui proses apa yang mengunci file di Linux?