Bagaimana cara menampilkan hasil `top` yang diurutkan berdasarkan penggunaan memori secara real time?


375

Bagaimana saya bisa menampilkan tophasil di terminal saya secara real time sehingga daftar diurutkan berdasarkan penggunaan memori?


24
Di Linux, >dan <pindahkan kolom sortir ke kanan dan kiri. Karena %MEMkolom berada tepat di sebelah kanan %CPUkolom, yang juga merupakan kolom pengurutan default, hanya diperlukan satu keystroke untuk beralih di antara keduanya. Saya tahu, pertanyaan Anda memiliki tag macintosh, itu sebabnya saya menulis jawaban ini sebagai komentar.
Walter Tross

5
Saya lebih suka htop, terutama karena itu memberi tahu saya bagaimana melakukan ini.
lindhe

Jawaban:


424

Gunakan topperintah di Linux / Unix:

top
  • tekan shift+ msetelah menjalankan topperintah
  • atau Anda dapat secara interaktif memilih kolom mana yang akan dipilih
    • tekan Shift+ funtuk masuk ke menu interaktif
    • tekan panah upatau downhingga %MEMpilihan disorot
    • tekan suntuk memilih %MEMpilihan
    • tekan enteruntuk menyimpan pilihan Anda
    • tekan quntuk keluar dari menu interaktif

Atau tentukan urutan pengurutan pada baris perintah

# on OS-X
top -o MEM
# other distros
top -o %MEM

Referensi

https://stackoverflow.com/questions/4802481/how-to-see-top-processes-by-actual-memory-usage


2
Di Linux itu top -o %MEM(perhatikan "%")
Gabriel Hautclocq

@GabrielHautclocq Ini harus bergantung pada distribusi Linux Anda, dan paket yang disertakan dengannya. Debian 7 menggunakan procps-ngdan tidak ada -oopsi sama sekali dalam versi itu. SHIFT-Mbekerja untuk saya setelah topdiluncurkan.
Christopher Schultz

top -o %MEMbekerja pada debian 8 dan 9 saya, tetapi tidak pada debian 7, Anda benar @ Christopher Schultz.
Gabriel Hautclocq

alih-alih <key> masukkan </key> itu harus <key> q </key>
dashesy

99

Opsi baris perintah -o(o singkatan dari "Override-sort-field") juga berfungsi pada mesin Xubuntu saya dan menurut halaman manual Mac di atasnya itu juga bisa digunakan pada Macintosh. Jika saya ingin kekurangan penggunaan memori saya biasanya menggunakan

top -o %MEM

yang macam dengan kolom %MEM. Tapi saya bisa menggunakan VIRT, RESatau SHRjuga. Pada Macintosh saya mungkin akan menggunakan mematau vsize.

Saya tidak tahu mengapa atau bagaimana tetapi ini sangat berbeda antara sistem Unix dan bahkan antara distribusi Linux. Sebagai contoh -obahkan tidak tersedia di Raspberry saya menjalankan Wheezy. Mungkin patut dicoba.


2
Jawabannya bisa pengguna lebih jelas: %MEMdiberikan sebagai jawaban untuk pembaca yang bersemangat; sementara itu tidak berfungsi di mana-mana (sejauh ini).
7heo.tk

1
Untuk Macbook 2014 ini dikatakan:top -o %MEM invalid argument -o: %MEM
anon58192932

Saya turut berduka mendengarnya.
ytg

Ini adalah satu-satunya jawaban yang benar-benar bekerja pada centos untuk saya.
Amalgovinus

1
@ anon58192932 Anda harus mengganti %MEM(atau PID, VIRT, dll) dengan nama kolom yang Anda lihat ketika menjalankan topsaja. Seperti dicatat oleh ytg , "pada Macintosh saya mungkin akan menggunakan mematau vsize".
ebosi

14

Sepertinya -o flag akan mengambil nama kolom yang sebenarnya. Jadi jika perintah top hanya menunjukkan "mem" maka perintah itu harus "top -o mem " .

Untuk mesin ubuntu yang saya uji, kolomnya disebut "% MEM" . Pada OSX Yosemite yang saya coba, itu "mem" .


13

Untuk Ubuntu 14,04 dimulai dengan

htop -s=MEM

melakukan trik untukku.


Berfungsi dengan baik untuk OSX juga.
ehime

itu perintah yang berbeda. Mencari jawaban tentang topperintah (seperti yang ditanyakan dalam pertanyaan ini) tidak htop.
Lukas

7

Jika topsudah berjalan, tekan o . Di atas data, sebuah prompt akan muncul:

primary key [xxxxx]:

Di mana xxxxxkunci penyortiran saat ini. Ketikkan nama kolom yang ingin Anda urutkan. Jika nama kolom berisi "%" atau "#", abaikan karakter tersebut. Untuk% CPU, ketikkan "cpu".


6

Pertanyaan aslinya tampaknya adalah untuk Mac, tetapi bagi siapa pun yang menemukan jawaban ini, di Red Hat Linux (dan banyak lainnya), 'top -m' mulai teratas dengan hasil yang diurutkan berdasarkan penggunaan memori.


Bukan pada Debian 8
marcovtwout

Bekerja pada: Red Hat Enterprise Linux Server merilis 6.8 (tidak ada jawaban lain yang berfungsi).
Contango



2

Jika Anda menggunakan topyang datang dengan Ubuntu ( top -v= procps-ng version 3.3.10), maka Anda dapat menggunakan pintasan keyboard interaktif ini untuk mengubah pengurutan. Perhatikan bahwa ini semua adalah huruf kapital, jadi gunakan shiftatau caps lock.

M% MEM
NPID
P% CPU
TTIME +

Secara default, mereka akan diurutkan dalam urutan DESC. Gunakan Runtuk beralih ASC / DESC.

Untuk mengatur pengurutan dari opsi baris perintah, gunakan top -o %MEM. Anda dapat menentukan kolom apa saja.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.