Як відобразити "топ" результати, відсортовані за використанням пам'яті в режимі реального часу?


375

Як я можу відображати topрезультати у своєму терміналі в режимі реального часу, щоб список був відсортований за використанням пам'яті?


24
В Linux >і <перемістіть стовпчик сортування праворуч і ліворуч. Оскільки %MEMстовпець знаходиться праворуч від %CPUстовпця, який також є стовпцем сортування за замовчуванням, для перемикання між ними потрібен лише один натискання клавіш. Я знаю, у вашому запитанні є тег macintosh, тому я пишу цю відповідь як коментар.
Вальтер Трос

5
Я віддаю перевагу htop, головним чином тому, що це говорить мені, як це зробити.
lindhe

Відповіді:


424

Використовуйте topкоманду в Linux / Unix:

top
  • натисніть shift+ mпісля запуску topкоманди
  • або ви можете інтерактивно вибрати, у якому стовпці сортувати
    • натисніть Shift+, fщоб увійти в інтерактивне меню
    • натискайте стрілку upабо, downпоки %MEMвибір не виділиться
    • натисніть, sщоб вибрати %MEMвибір
    • натисніть, enterщоб зберегти вибір
    • натисніть qдля виходу з інтерактивного меню

Або вкажіть порядок сортування в командному рядку

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

Список літератури

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


2
У Linux це top -o %MEM(зверніть увагу на "%")
Габріель Hautclocq

@GabrielHautclocq Це повинно залежати від вашого розповсюдження Linux та пакета, що входить до нього. Debian 7 використовує, procps-ngа -oв цій версії взагалі немає жодної опції. SHIFT-Mпрацює для мене один раз topзапускається.
Крістофер Шульц

top -o %MEMпрацює на моїх debian 8 і 9, але не на debian 7, ти прав @Christopher Schultz.
Габріель Хацлокк

замість <ключу> введіть </key> це повинно бути <key> q </key>
тире

99

Параметр командного рядка -o(o означає "Переосмислити-сортувати поле") також працює на моїй машині Xubuntu, і відповідно до сторінки "Мак Мак" вгорі він повинен працювати і на Macintosh. Якщо я хочу коротко використовувати пам'ять, яку я зазвичай використовую

top -o %MEM

який сортує за стовпцем %MEM. Але я можу використовувати VIRT, RESабо SHRтеж. На Macintosh я б, ймовірно, використовував memабо vsize.

Я не знаю, чому і як, але це сильно відрізняється між системами Unix і навіть між дистрибутивами Linux. Наприклад -o, навіть недоступний на моєму Raspberry Run Wheezy. Можливо, варто спробувати.


2
Відповідь могла б користувачеві зрозуміти більше: %MEMнадається як відповідь нетерплячому читачеві; хоча це не працює скрізь (далеко).
7heo.tk

1
Для Macbook 2014 це сказано:top -o %MEM invalid argument -o: %MEM
anon58192932

Мені прикро це чути.
ytg

Це єдина відповідь, яка насправді працювала на центоси для мене.
Амальговінус

1
@ anon58192932 вам слід замінити %MEM(або PID, VIRTтощо) будь-яке ім'я стовпця, яке ви бачите topлише під час запуску . Як зазначає ytg , "на Macintosh я б, ймовірно, використовував memабо vsize".
ebosi

14

Схоже, прапор -o буде приймати фактичну назву стовпця. Отже, якщо в верхній команді відображається лише "mem", тоді команда повинна бути "top -o mem " .

Для машини ubuntu, яку я тестую, стовпець називається "% MEM" . На OSX Yosemite, який я спробував, це "mem" .


13

Для Ubuntu 14.04, починаючи з

htop -s=MEM

зробив трюк для мене.


Також добре працює для OSX.
ehime

це інша команда. Шукайте відповіді про topкоманду (як задано в цьому запитанні) ні htop.
Лукас

7

Якщо topвже запущено, натисніть o . Над даними з'явиться запит:

primary key [xxxxx]:

Де xxxxxзнаходиться поточний ключ сортування. Введіть назву стовпця, за яким потрібно сортувати. Якщо назва стовпця містить "%" або "#", опустіть символ. Для% CPU просто введіть "cpu".


6

Оригінальне запитання, схоже, стосувалося Mac, але для тих, хто натрапляє на цю відповідь, у Red Hat Linux (та багатьох інших) "top -m" починає зверху з результатами, відсортованими за використанням пам'яті.


Не на Debian 8
marcovtwout

Працював над: Реліз Red Hat Enterprise Linux Server 6.8 (жоден з інших відповідей не працював).
Контанго



2

Якщо ви використовуєте те, topщо поставляється з Ubuntu ( top -v= procps-ng version 3.3.10), ви можете використовувати ці інтерактивні комбінації клавіш для зміни сортування. Зауважте, що це все великі літери, тому або використовуйте shiftабо caps lock.

M% MEM
NPID
P%
TTIME + CPU +

За замовчуванням вони будуть відсортовані у порядку DESC. Використовуйте Rдля перемикання ASC / DESC.

Щоб встановити сортування з параметра командного рядка, використовуйте top -o %MEM. Ви можете вказати будь-який стовпець.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.