Могу ли я посмотреть статистику системы в Терминале?

34

Виджет iStat Pro позволяет отслеживать различные системные статистические данные, такие как

  • использование процессора
  • пропускная способность сети вход / выход
  • использование памяти
  • ...

Как я могу посмотреть такую ​​статистику системы в Терминале?

введите описание изображения здесь

gentmatt
источник

Ответы:

56

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

  • top: показать запущенные процессы, использование памяти и подобную статистику
  • iostat: показать статистику ввода / вывода для терминала, устройства и статистику SPU
  • vm_stat: показать статистику виртуальной памяти Mach
  • dfи diskutil list: отчет об используемом и свободном дисковом пространстве
  • fs_usage: показать активность файла для диска и сети
  • nettop: отображать обновленную информацию о сети (немного похоже на top для net I / O)
  • w: показать, кто вошел в систему, что они делают и загрузить систему
  • ifconfigи ipconfig: сведения о сетевом интерфейсе и протоколе IP

Большинство этих команд имеют огромный список опций, вероятно, лучше проконсультироваться со справочными страницами для деталей.

Я обычно полагаюсь на то, top -u -s 10чтобы идентифицировать процессы загрузки процессора и fs_usage -f filesys/ fs_usage -f networkили идентифицировать процессы, генерирующие большую нагрузку на диск / сеть.

Nohillside
источник
@ JMY1000 LOL, мне действительно нравится идея процесса, обнимающего процессор :-) Спасибо за редактирование.
nohillside
@patrix Ах, доброе старое объятие смерти.
JMY1000
6

Камень iStats рубин позволяет увидеть температуру процессора с помощью командной строки.

Установка

$ gem install iStats

использование

$ istats

Скриншот

Chris911
источник
4

Вы можете использовать top. Он покажет использование процессора и оперативной памяти вместе со всеми процессами. Он также покажет вам входящие / исходящие сетевые пакеты и прочитанные / записанные данные.

Uko
источник
2
И man topвы можете увидеть, как настроить вывод.
Рене Ларсен
3

Выше приведены отличные команды. Также я люблю использовать

$ du -ks *

Чтобы показать, сколько дискового пространства используют все папки ниже моего текущего каталога.

Эта команда выводит список 10 лучших каталогов в порядке их размера:

$ du -sh * | sort -nr | head -10

Для общего инструмента системной статистики мне нравятся взгляды на python лучше, чем top:

https://nicolargo.github.io/glances/

Вот как вы можете установить его в Debian / Ubuntu:

$ sudo apt-get install glances

Вот как вы можете установить его на CentOS / Red Hat:

# yum  install glances
user8128167
источник
1

Если у вас проблемы с сетью, особенно если сервер подключен к Интернету, lsof (1) может быть чрезвычайно полезен. В нем перечислены все открытые файлы.

Например, lsof | fgrep '/Library/WebServer/покажет вам все файлы, которые открыты на вашем веб-сервере. Я использовал это много, чтобы найти и запретить «пиявок» и «ботов», которые уменьшают мою пропускную способность, автоматически высасывая файл за файлом.

Ян Стейнман
источник
1

Мой предпочтительный способ увидеть загрузку процессора с помощью одной команды, которая мгновенно возвращает

ps -axro pcpu | awk '{sum+=$1} END {print sum}'

-ax: все процессы, включая нетерминальные процессы и процессы, которые вам не принадлежат.

-r: сортировка по процессору

-o pcpu: только вывод поля% cpu. % cpu - это среднее значение за 1 минуту процесса, но оно будет усреднено в течение всего срока службы процесса, если его время жизни <1 мин.

awk: суммируйте первый столбец в каждой строке и выведите сумму в конце.

Это показатель ЦП для каждого ядра, поэтому на 12-ядерном ЦП вы можете получить до 1200; Вы не ограничены в 100.

jeremysprofile
источник
0

Вот две команды для определения вашего локального и публичного IP:

Локальный IP

ipconfig getifaddr en1

Это при использовании Wi-Fi. Для использования в сети en0.

Общественный IP

curl whatismyip.org
gentmatt
источник
1
На текущих MacBook Air (у которых нет порта Ethernet) код устройства Wi-Fi есть en0. Вы можете узнать, с чем это networksetup -listallhardwareports | grep -E '(Wi-Fi|AirPort)' -A 1 | grep -o "en.".
Lri