Apakah ada aplikasi yang dapat menunjukkan penggunaan memori dengan cara yang mirip dengan yang teratas?

8

Saya ingin membiarkan aplikasi berjalan di terminal saya yang menunjukkan kepada saya penggunaan memori, mirip dengan bagaimana topmenunjukkan CPU dan info lainnya, dan iotopmenunjukkan pengguna I / O teratas.

Atas dan iotop

Apakah aplikasi semacam itu ada?

PS Saya tahu top menunjukkan penggunaan memori juga, tapi saya sedang berbicara tentang pengurutan berdasarkan penggunaan memori teratas dan tidak menampilkan info lain (mirip dengan apa yang iotopdilakukan).

RolandiXor
sumber
Di atas tekan M dan itu akan mengurutkan penggunaan memori. Itukah yang Anda cari?
popey
Saya juga sedikit tidak jelas fitur apa yang Anda inginkan / tidak inginkan, tetapi htopmerupakan topalternatif yang saya gunakan. Walaupun sepertinya Anda mencari lebih sedikit fitur tetapi lebih spesifik daripada lebih banyak fitur?
adempewolff
@ adempewolff tepatnya. Misalnya iotop melakukan apa yang dikatakannya - menunjukkan penggunaan I / O dari aplikasi saya dan tidak ada yang lain. Saya ingin dapat menjalankan katakan, 'memtop` dan hanya mendapatkan% penggunaan memori. htopbukan apa yang saya cari - karena ini menunjukkan hal-hal lain (termasuk penggunaan CPU) yang sudah saya dapatkan top. Maksud saya, saya suka htop tidak diragukan lagi (saya pernah menggunakannya sebelumnya), tapi bukan itu yang saya cari dalam hal ini.
RolandiXor

Jawaban:

8

Yang paling dekat yang bisa saya temukan adalah memtop, skrip Python tersedia di sini di Google Code.

Tangkapan layar: masukkan deskripsi gambar di sini

Cara menggunakan memtop

  • Ini adalah skrip Python, jadi cukup lakukan sudo mv memtop-1.0.0.py /usr/bin/memtop.pydan chmod +x /path/to/memtop.pyuntuk membuatnya bisa dieksekusi
  • Periode pembaruan default adalah 15 menit; gunakan sakelar -p 1untuk membuatnya 1 menit, dll. (tidak bisa lebih rendah dari itu kecuali Anda memodifikasi sumbernya)
  • Gunakan -l N, di mana N adalah jumlah proses yang ingin Anda tampilkan, tergantung pada ukuran terminal Anda.
  • Gunakan -muntuk menampilkan informasi "lebih banyak", yaitu statistik Swap / Halaman di bagian bawah tangkapan layar.

The htop menyamar sebagai memtop pilihan

Jika Anda tidak menggunakan htopsebaliknya, cukup mudah untuk mengaturnya dengan opsi pengaturan F2 agar terlihat seperti memtop:

masukkan deskripsi gambar di sini

  • htop config disimpan ~/.config/htop/htoprc, jadi hapus saja htoprcuntuk mengembalikan htop normal .
ish
sumber
Proyek baru saja pindah ke GitHub: github.com/MartinThoma/memtop
Martin Thoma
2

Saya tidak tahu tentang aplikasi spesifik untuk memonitor apa yang Anda inginkan secara real time tetapi saya memang menemukan beberapa informasi yang mungkin bisa membantu.

Pertama, inilah perintah sederhana untuk mencetak info ini ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMNS(ditemukan di sini: http://www.linuxquestions.org/questions/linux-general-1/how-to-show-the-memory-usage-perage-per-process-160181/ )

Kedua di sini adalah beberapa info lebih lanjut tentang skrip untuk melakukan hal yang sama:

http://unixlive.editboard.com/t4-memory-usage-retrieval-on-linux-process-wise-and-general

dan

http://unixlive.editboard.com/t5-how-much-ram-is-used-per-program

Anda dapat menulis skrip / program Anda sendiri untuk memenuhi kebutuhan Anda. Info yang Anda butuhkan semuanya diperbarui /proc/secara realtime, tetapi Anda harus menyelesaikan dua masalah:

  1. Saya ragu ada satu file yang mencantumkan semua proses dan penggunaan memori mereka secara real time. Sebaliknya setiap proses memiliki file sendiri (dalam /proc/[pid]/), dan beberapa file potensial untuk menemukan info ini tidak dapat dibaca manusia - meskipun saya menduga itu statmdan statusmemiliki info yang diperlukan dan keduanya dapat dibaca manusia.
  2. Menampilkan semua informasi ini secara realtime. Saya tahu sedikit tentang bash scripting atau pemrograman tetapi untuk menampilkan informasi secara realtime Anda perlu menggunakan sesuatu seperti banyak tailperintah dengan pipa untuk mengurutkan / mencetak hanya informasi yang diinginkan untuk setiap proses.

Sebenarnya bukan jawaban yang lengkap, tapi mudah-mudahan ini memberi Anda beberapa ide tentang apa yang bisa Anda coba. Semoga berhasil!

adempewolff
sumber
2

Coba watch memstat -watau mungkin watch free -m.

belacqua
sumber
1

htop cukup bagus. Ini cukup ringan (tidak seperti monitor sistem gnome. Tidak masuk akal bagi saya bahwa program pemantauan sistem harus sering menjadi program yang paling banyak digunakan.)

Tekan F6, lalu gunakan tombol panah atau mouse untuk beralih ke pengurutan berdasarkan MEM%.

tsbertalan
sumber
2
Sementara saya suka jawaban ini, dan htop (saya sudah menggunakannya sebelumnya) saya mencari aplikasi yang mengikuti prinsip melakukan satu hal dan melakukannya dengan baik (seperti iotop).
RolandiXor