Мы недавно реструктурировали часть нашего веб-хостинга; разделение серии приложений на несколько пользователей на одной (виртуальной) машине, чтобы лучше выявлять проблемы с использованием ресурсов и т.п.
Однако на данном этапе проблема заключается в том, что если у нас есть кандидат на вызывающее беспокойство поведение, это можно легко подтвердить с помощью top -u
, метод получения максимально точного отображения использования ресурсов сгруппированы по пользователю до сих пор было неуловимым.
Какие-либо предложения?
Редактировать:
Чтобы уточнить:
Я не хочу видеть каждую технологическую линию (их довольно много; до 15 на пользователя в крайних случаях); Я хочу увидеть одна строка на пользователя; с совокупным использованием ресурсов для этого пользователя и одну такую строку для каждый пользователь.
Хорошо ... так как мне было скучно, и это казалось забавным испытанием, я написал этот сценарий, который, я думаю, сделает то, что вы хотите. Я протестировал его базовую функциональность на работу, и он должен быть гибким, поэтому вы можете указать top выводить только те поля, которые вам интересны, и он должен адаптироваться должным образом. Но он, несомненно, не справится каждый случай форматирования вывода из каждой версии топа.
Пример вывода с моей рабочей станции:
USER VIRT RES SHR %CPU %MEM TIME+ procs
ntp 41m 580 444 0 0 0:02.93 1
haldaemo 69m 3m 2m 0 0.1 0:01.85 2
jonhall 12g 803m 230m 4 13.3 134:24.09 47
postgres 471m 1m 788 0 0 0:15.24 5
postfix 117m 7m 6m 0 0.1 0:00.02 3
statd 14m 16 8 0 0 0:00.00 1
root 2g 473m 18m 0 7.7 108:18.75 126
avahi 66m 784 628 0 0 0:00.15 2
dovecot 12m 96 48 0 0 0:00.00 1
daemon 26m 56 32 0 0 0:00.00 2
messageb 23m 1m 812 0 0 0:01.74 1