Monday, 18 February 2013

Определение CPU, на которых выполняются процессы определенного контейнера?

До начала работ требуется поставить вот это дело: http://www.stableit.ru/2009/12/openvz-vztop-vzps.html

Далее же все осуществляется простой Bash командой:

for i in `vzps -E 1023 --no-headers   |awk '{print $2}'`; do cat /proc/$i/stat|awk '{print $39}';done|sort | uniq -c
Выдача будет примерно следующая:
      1 0
      3 1
      8 10
      7 11
      4 12
      3 13
      9 22
     11 23
      4 3
      2 4
      1 6
     12 8
     17 9
Обращаю внимание, что первый столбец - число процессов на заданном процессоре, второй - номер логического процессора.

Также предлагаю вариацию команды, отображающей физические слоты (в случае многопроцессорых - несколько реальных, физических процессоров):

for i in `vzps -E 1023 --no-headers   |awk '{print $2}'`; do cpu=$(cat /proc/$i/stat|awk '{print $39}'); cat /sys/devices/system/cpu/cpu$cpu/topology/physical_package_id; done|sort | uniq -c
Ее выдача имеет похожий вид:
     44 0
     38 1

No comments:

Post a Comment

Note: only a member of this blog may post a comment.