індивідуальний процес% у виході "top"


10

Зазвичай для перегляду окремих процесорів% ми натискаємо '1' в інтерактивному режимі зверху.

Однак я не можу зрозуміти логіку, щоб отримати такий же висновок у пакетному режимі, тобто

top -n1b

Я перенаправляю цей висновок до файлу, щоб переглянути його пізніше і подібні речі, тому мені потрібно пакетний режим. Це можливо? Встановлення окремого інструмента для цього не буде можливим.

Я шукаю варіант, який я відсутній або якийсь спосіб захопити вихід.

Відповіді:


7

У інтерактивній верхній частині перейдіть до окремого CPU, ввівши 1, потім запишіть поточну конфігурацію у файл, ввівши W. Це створить ~/.toprc. Тепер, top -n1b буде також виводитись на CPU%. Можливо, вам доведеться скопіювати .toprc файли та зміни дозволів, якщо ваш сценарій виконується як інший користувач.


Q запитує пакетний режим.
Charles Stewart

2
Я постараюся бути яснішим: я не знаю жодного шляху у командному рядку щоб повідомити top "коли ви перебуваєте в пакетному режимі, надрукуйте окремий процесор%". Проте зверху читає .toprc в пакетному режимі, так що ви можете налаштувати цей файл, як я описав, а потім ви отримаєте окремі процесори% в пакетному режимі, а також. Або, принаймні, він зробив для мене (procps версія 3.2.7)
jwhitlock

це має бути top ? Чому б не користуватися ps і сортувати на% CPU? Я вважаю, що% CPU вводить в оману навіть, я, як правило, сортувати на VSIZE або RSS, тому що часто те, що збиває мої сервери вниз є жулики пам'яті ізгоїв.
memnoch_proxy

4

Чи повинна вона бути вершиною? Можливо, вам знадобиться mpstat

  mpstat -A

0

Я не знаю правильного способу зробити це з вершиною procutils; може бути echo k|top -n2 -d1.0 це трюк? Зверніть увагу на те, що перший висновок top не дасть вам корисної інформації про використання cpu%: top тільки спроби оцінити процес% з моменту запуску. Звідси і -n2. Ви можете обмежитися другим статистичним списком, викинувши все до другого порожнього рядка.

Згори BSD, top -l2 -s1 -o cpu буде (перевірено) друкувати верхню статистику двічі, порядок по cpu%. На всякий випадок, якщо у вашій системі є прихована версія BSD ...


0

Ви можете використовувати поверх. Це дуже повний монітор, де можна відстежувати процеси, а також системні ресурси, такі як пам'ять і процесор. Це дає індивідуальний вихід для кожного ядра процесора.

Для систем ubuntu її можна використовувати як пакет в репо, так що ви можете безпосередньо встановити його через apt-get / synaptic.

Для Redhat і похідних систем ви можете знайти пакунки тут: http://dag.wieers.com/rpm/packages/atop/


0

Це якийсь хак, але, здається, працює:

$ ssh local.ubuntu.server "(sleep 1;echo 1)|TERM=xterm script -c top & sleep 2;killall script"|grep '^%Cpu'
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni, 99.9 id,  0.0 wa,  0.0 hi,  0.0 si,  0.1 st
%Cpu0  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu1  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu2  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu3  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu4  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu5  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu6  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu7  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.