Bagaimana menemukan proses mana yang mengambil semua memori?

85

Saya mencari sesuatu seperti top adalah untuk penggunaan CPU. Apakah ada argumen baris perintah untuk top yang melakukan ini? Saat ini, ingatan saya begitu penuh sehingga bahkan 'man top' gagal tanpa memori :)

ripper234
sumber

Jawaban:

104

Dari dalam topAnda dapat mencoba yang berikut:

  • Tekan SHIFT+f
  • Tekan Surat yang sesuai dengan% MEM
  • tekan ENTER

Anda mungkin juga mencoba:

$ ps -eo pmem,pcpu,vsize,pid,cmd | sort -k 1 -nr | head -5

Ini akan memberikan 5 proses teratas oleh penggunaan memori.

Steven D
sumber
18
Di Linux, cukup tekan Muntuk mengurutkan berdasarkan penggunaan memori fisik (kolom RES). Di bawah * BSD, jalankan top -o resatau top -o size. Tetapi htop jauh lebih baik dan bahkan tidak mengkonsumsi lebih banyak memori dari atas (namun itu bukan bagian dari toolset dasar sehingga Anda mungkin tidak menginstalnya).
Gilles
2
Saya harus menekan suntuk mengurutkan berdasarkan %MEMdan, lalu tekan melarikan diri untuk top.
Bryce Guinta
11

Jika sudah diinstal, saya suka htop sekali meluncurkannya Anda dapat menekan f6, down arrow(untuk MEM%), enteruntuk mengurutkan berdasarkan memori.

xenoterracide
sumber
6

Setelah topdimulai, tekan Funtuk beralih ke layar bidang sortir. Pilih salah satu bidang yang terdaftar dengan menekan tombol yang tercantum di sebelah kiri; Anda mungkin ingin NuntukMEM%

Michael Mrozek
sumber
2
Jika Anda ingin MEM%, menekan 'M' melakukan hal yang sama di atas. 'c' menambahkan parameter baris perintah ke daftar proses, mungkin informatif untuk masalah Anda.
Mengibaskan
6

Di Solaris, perintah yang Anda butuhkan adalah:

prstat -a -s size

Ini akan mendaftar semua proses dalam urutan ukuran gambar proses menurun. Perhatikan bahwa yang terakhir didasarkan pada memori yang dilakukan untuk proses oleh OS, bukan penggunaan memori fisik penduduknya.

Seharusnya ada versi "atas" yang tersedia untuk Solaris, tetapi ini bukan bagian dari instalasi standar.

Joel Hoff
sumber
5

Salah satu alternatif yang bagus topadalah htop. Lihat, ini jauh lebih ramah pengguna daripada top biasa.

Klark
sumber
1

Perintah ini akan mengidentifikasi proses pemakaian memori teratas:

ps -A --sort -rss -o pid,pmem:40,cmd:500 | head -n 6 | tr -s " " ";z"
user90191
sumber
0

Anda dapat mencoba ps aux --sort -rss | headataups aux | sort -nk +4 | tail

David Okwii
sumber