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

11689
Uday

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

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

top -n1b 

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

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

10

5 ответов на вопрос

7
jwhitlock

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

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

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

 mpstat -A 
0
Charles Stewart

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

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

0
s1d

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

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

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

0
AXE-Labs

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

$ 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 

Похожие вопросы