Определение загрузки процессора - Solaris Unix - PullRequest
2 голосов
/ 06 февраля 2012

Я только что прошел SO и выяснил вопрос Определение загрузки процессора

Вопрос интересный, и более интересным является ответ. Поэтому я подумал сделать несколько проверок на моей Unix-системе Solaris SPARC.

Я зашел в / proc как пользователь root и обнаружил несколько каталогов с номерами в качестве имен. Я думаю, что эти числа являются идентификаторами процесса. Удивительно, но я не нашел /stat.

Я взял один идентификатор процесса (один каталог) и проверил, что находится внутри него. Ниже вывод

root@tiger> cd 11770
root@tiger> pwd
/proc/11770
root@tiger> ls
as         contracts  ctl        fd         lstatus    lwp        object     path       psinfo     root       status     watch
auxv       cred       cwd        lpsinfo    lusage     map        pagedata   priv       rmap       sigact     usage      xmap

Я проверил, что это за файлы:

root@tigris> file *
as:             empty file
auxv:           data
contracts:      directory
cred:           data
ctl:            cannot read: Invalid argument
cwd:            directory
fd:             directory
lpsinfo:        data
lstatus:        data
lusage:         data
lwp:            directory
map:            TrueType font file version 1.0 (TTF)
object:         directory
pagedata:       cannot read: Arg list too long
path:           directory
priv:           data
psinfo:         data
rmap:           TrueType font file version 1.0 (TTF)
root:           directory
sigact:         ascii text
status:         data
usage:          data
watch:          empty file
xmap:           TrueType font file version 1.0 (TTF)

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

Кто-нибудь может дать мне правильное направление? наверное с примером!

Ответы [ 2 ]

2 голосов
/ 07 февраля 2012

Нет простого и точного способа получить загрузку ЦП из иерархии Solaris /proc.

В отличие от Linux, который использует его для хранения различной системной информации и статистики, Solaris представляет данные, относящиеся к процессу, только в /proc.

Есть и другое отличие.Linux обычно представляет предварительно обработанные читаемые данные (текст), в то время как Solaris всегда представляет фактические структуры ядра или необработанные данные (двоичные данные).

Все это полностью задокументировано в руководстве по эксплуатации Solaris на 46 страницах (man -s 4 proc)

Хотя было бы возможно получить загрузку ЦП, суммируя использование на процесс из этой иерархии, т. Е. Читая файл / proc // xxx, обычным способом является Solaris kstat (статистика ядра).интерфейс.Более того, первый метод был бы неточным из-за отсутствия использования ЦП не учитываемым процессами, а непосредственно ядром.

kstat (man -a kstat) - это то, что использует под капотом все обычные команды, которые сообщают, что выищите как vmstat, iostat, prstat, sar, top и т.п.и вхолостую).

$ vmstat 10 8
 kthr      memory            page            disk          faults      cpu
 r b w   swap  free  re  mf pi po fr de sr cd s0 -- --   in   sy   cs us sy id
 0 0 0 1346956 359168 34 133 96 0  0  0 53 11  0  0  0  264  842  380  9  7 84
 0 0 0 1295084 275292 0   4  4  0  0  0  0  0  0  0  0  248  288  200  2  3 95
 0 0 0 1295080 275276 0   0  0  0  0  0  0  3  0  0  0  252  271  189  2  3 95
 0 0 0 1295076 275272 0  14  0  0  0  0  0  0  0  0  0  251  282  189  2  3 95
 0 0 0 1293840 262364 1137 1369 4727 0 0 0 0 131 0 0 0  605 1123  620 15 19 66
 0 0 0 1281588 224588 127 561 750 1 1 0  0 89  0  0  0  438 1840  484 51 15 34
 0 0 0 1275392 217824 31 115 233 2 2  0  0 31  0  0  0  377  821  465 20  8 72
 0 0 0 1291532 257892 0   0  0  0  0  0  0  8  0  0  0  270  282  219  2  3 95

Если по какой-то причине вы не хотите использовать vmstat, вы можете напрямую получить счетчики kstat с помощью команды kstat, но это будет громоздко и менее переносимо.

2 голосов
/ 06 февраля 2012

Поскольку никто больше не ловит наживку, я добавлю несколько комментариев / ответов.

1-й раз, Вы проверяли информацию, доступную для Настройка системы Solaris ?Это для старых Solarian, 2.6, v7 и 8. Предположительно, небольшой поиск на developers.sun.com найдет что-то более новое.

Вы писали:

Я пошел в / procкак пользователь root, и я обнаружил несколько каталогов с номерами в качестве их имен.Я думаю, что эти числа являются идентификаторами процессов. Удивительно, но я не нашел /stat .( Почему это? ..)

У многих не-Linux ОС есть свои особые соглашения о том, как управляются процессы.Для Solaris каталог / proc - это не каталог дисковых файлов, а информация обо всех активных системных процессах, расположенных в виде иерархии каталогов.Круто, верно ?!

Я не знаю точного значения stat, статус?статистика?что-то другое?но это просто соглашение, в котором используется структура каталогов другой ОС, в которой хранится информация о процессе.

Как вы обнаружили, ниже /proc/ - это набор пронумерованных записей, это активные идентификаторы процесса.Когда вы переходите на любой из них, вы видите системную информацию, доступную для этого процесса.

Я проверил, что это за файлы: ....

У меня больше нет доступа к серверам Solaris, поэтому нам придется немного угадать.Я рекомендую «углубиться» в любой файл или каталог, имя которого намекает на что-либо связанное.

Вы пробовали cat psinfo?Что это произвело?

Если страница настройки соляриса не помогла, значит, ваш appropos работает?Сделайте appropos proc и посмотрите, какие упоминаются man-страницы.Разверни те.В противном случае попробуйте man proc, и просмотрите в нижней части записи раздел «см. Также» И раздел «Примеры».

(Un) - к счастью, большинство справочных страниц не являются учебными пособиями, поэтому их чтение может дать вам только представление о том, сколько еще вам нужно учиться.


Вы знаете овстроенные команды, которые предлагают некоторые возможности мониторинга производительности, например ps, top и т. д.?

А превосходный nmon на базе AIX был / есть?также перенесены в Solaris, см. http://sourceforge.net/projects/sarmon/.

Существуют также дорогостоящие инструменты мониторинга / измерения / использования, которые сетевые администраторы хотели бы иметь в качестве простого разработчика, нам никогда не приходилось их использовать.Посмотрите на платную рекламу, когда вы гуглите «Мониторинг производительности Solaris».

Наконец, имейте в виду это превосходное наблюдение от разработчика системного монитора nmon-AIX, включенного в FAQ для nmon :

Если вы продолжите использовать более короткие и короткие периоды, вы в конечном итоге увидите, что процессоры либо на 100% заняты, либо на 100% простаивают, а все остальные цифры - это просто свойство людей думать недостаточно быстро инеобходимость усреднить использование процессора в более длительные периоды.

Надеюсь, это поможет.

...