Я пытаюсь получить точное чтение моего используемого процессора (в процентах) от top
. Это команда, которую я запускаю для тестирования:
top -n1 | awk '/Cpu\(s\):/ {print $2}'
Это возвращает:
10.7%us,
Какая часть данных мне нужна. Тем не менее, каждый раз, когда я запускаю команду, я получаю один и тот же вывод, даже несмотря на то, что я прикладываю разные нагрузки к моей системе (и не говоря уже о htop
том, что мое использование отличается). Кажется, что всякий раз, когда я начинаю top
, загрузка моего процессора одинакова. Только после нескольких кадров это дает мне правильные значения.
Не похоже, что я могу анализировать вывод top таким образом, поэтому я ищу другие надежные приложения, которые дадут мне точное чтение из оболочки. Мне действительно нравится, как htop
можно дать мне чтение по ядру.
Я попробовал iostat
и , mpstat
но они , кажется, дают неточные и «медленные изменения» ценности.
источник
Ответы:
Я использую этот скрипт (из этой темы на досках Arch ):
источник
Проверьте Сар , а также. Реализации могут сильно различаться от nix к nix, но это должно дать вам базовую системную статистику при данных снимках. Я не уверен , насколько точны эти значения в точке , в которой команда первой инициализирован, но вы могли бы играть, чтобы увидеть , как он сравнивает
top
,iostat
и т.д.Вывод основан на столбцах, как и top, поэтому вы должны иметь возможность передавать вывод
awk
илиcut
манипулировать результатами.источник
sar
раньше со смешанными результатами. Я собираюсь пойти с ответом @ jasonwryan здесь, потому что я могу легко изменить его, чтобы представить использование с обоими ядрами моего процессора.Вы смотрели
collectl
? Это удобно, потому что вы можете адаптировать вывод к вашим потребностям. Смотрите: http://collectl.sourceforge.net/источник
То, что я нашел, похоже на человека, который задал вопрос выше, по крайней мере, на CentOS 6. Если я запускаю top в пакетном режиме всего за одну итерацию, кажется, что он собирает ту же самую цифру, почти как если бы она имела тенденцию начинать с чего-то. это последний помнит показ. Похоже, сверху нужно накопить хотя бы пару цифр, чтобы получить дельты, которые дают вам правильные проценты. Протестировав более 10 итераций, я обнаружил, что появившаяся вторая цифра демонстрирует достаточную дифференциацию при каждом запуске. Таким образом, достаточно легко получить эту линию через
Мне нравится включать это в uptime для загрузки и grep-фильтр выбранных процессов из ps, таких как запросы postgres. Очень простой монитор можно выразить псевдонимом:
источник