отдельный процессор% в «верхнем» выводе

10

Обычно для просмотра отдельных процессоров% мы нажимаем «1» в интерактивном режиме сверху.

Однако я не могу понять логику, чтобы получить тот же вывод в пакетном режиме, т.е.

top -n1b

Я перенаправляю этот вывод в файл, чтобы просмотреть его позже и тому подобное, поэтому мне нужен пакетный режим. Является ли это возможным? Установка отдельного инструмента для этого невозможна.

Я ищу опцию, которую мне не хватает, или какой-то способ зафиксировать вывод.

Удай
источник

Ответы:

7

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

jwhitlock
источник
1
Q запрашивает пакетный режим.
Чарльз Стюарт
2
Я попытаюсь быть более понятным: я не знаю, как в командной строке указать top "когда вы находитесь в пакетном режиме, выведите отдельный процессор%". Однако top выполняет чтение .toprcв пакетном режиме, поэтому вы можете настроить этот файл, как я описал, и тогда вы также получите отдельный процессор в пакетном режиме. Или, по крайней мере, для меня (procps версия 3.2.7)
jwhitlock
это должно быть top? Почему бы не использовать psи не сортировать по% CPU? Я считаю, что% CPU даже вводит в заблуждение, я склонен сортировать по VSIZE или RSS, потому что часто то, что сбивает мои серверы с ног, является мошенническим занятием памяти.
memnoch_proxy
5

Это должно быть вершиной? Может быть, вам нужен mpstat

  mpstat -A
Дэн Андреатта
источник
1

Это своего рода хак, но, похоже, работает:

$ 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
AX Labs
источник
0

Я не знаю правильный способ сделать это с верхом Procutils; может echo k|top -n2 -d1.0уловка? Обратите внимание, что первый вывод top не даст вам полезной информации об использовании CPU%: top только пытается оценить% процессора с момента его запуска. Отсюда -n2. Вы можете ограничиться вторым списком статистики, выбрасывая все до второй пустой строки.

При использовании BSD top top -l2 -s1 -o cpu(протестировано) дважды будет печатать статистику top, упорядочив по процессору%. На всякий случай в вашей системе скрывается вершина BSD ...

Чарльз Стюарт
источник
0

Вы можете использовать поверх. Это очень полный монитор, где вы можете отслеживать процессы, а также системные ресурсы, такие как память и процессор. Это дает индивидуальный вывод для каждого ядра процессора.

Для систем Ubuntu он доступен в виде пакета в репозитории, поэтому вы можете установить его напрямую через apt-get / synaptic.

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

S1D
источник