Как отслеживать количество процессов и вилок для каждого пользователя?

Мне нужно выяснить, сколько вилок сделано и сколько одновременных процессов выполняется каждым пользователем с течением времени. Не похоже, что эта информация отслеживается моим дистрибутивом.

Я знаю, как устанавливать ограничения, но я заинтересован в отслеживании этих чисел для каждого пользователя.

3 Solutions collect form web for “Как отслеживать количество процессов и вилок для каждого пользователя?”

Попробуйте пакет psacct (учет GNU), он должен делать все, что вам нужно, после установки и включения ( accton ), а затем lastcomm будет вести отчет о пользовательских процессах (см. Также sa и dump-acct ). См. Это для справки: файл журнала выполненных команд пользователя

Возможно, вам потребуется обновить версию до журнала PID / PPID, см. https://serverfault.com/questions/334547/how-can-i-enable-pid-and-ppid-fields-in-psacct-dump-acct , в противном случае я подозреваю, что он будет недопредставлен на fork() без exec() .

Обновление Если ваша lastcomm команда выводит F во втором столбце, это означает, что процесс был вилкой (которая никогда не exec() чтобы заменить себя новым процессом). Выходной сигнал dump-acct должен показывать PID (и PPID) в формате acct v3.

Альтернативой psacct может быть новый (ish) taskstats , для него еще нет поддержки, но AFAICT, см. Documentation/accounting/taskstats.txt в Documentation/accounting/taskstats.txt версии ядра. Это может помочь вам запустить http://code.google.com/p/arsenalsuite/wiki/TrackingIOUsage, и есть модуль perl Linux::Taskstats::Read на CPAN.

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

Обновление 2 Хорошо, что нужно проверить необходимую поддержку psacct :

  1. (официальное) ядро> = 2.6.8 для поддержки учета v3 (или backport)
  2. Ядро с CONFIG_BSD_PROCESS_ACCT и CONFIG_BSD_PROCESS_ACCT_V3 включено
  3. v3 способный учет ( psacct ) пакет, как отмечено выше

Все вышеперечисленное должно быть истинным в CentOS 6, я проверил 5.x и у него нет CONFIG_BSD_PROCESS_ACCT_V3=y , поэтому вам нужно будет перестроить ваше ядро, чтобы включить его.

Первоначальному psacct-6.3.2 около 15 лет, версия Red Hat / CentOS поддерживала поддержку v3 и PID-дисплея (я не могу проверить его прямо сейчас, но он должен работать).

Чтобы проверить конфигурацию вашего ядра:

 zgrep BSD_PROCESS_ACCT /proc/config.gz /boot/config-`uname -r` 

Вы можете использовать ps -ef для просмотра дочернего pid, родительский идентификатор – тот, который делал разветвление или нерестится. Вы можете использовать watch для запуска сценария на регулярной основе и подсчета для вас.

Вы можете настроить подсистему аудита для регистрации вилок (и любой другой системный вызов поймает ваше воображение).

 auditctl -a exit,always -S clone 
  • Как отремонтировать CentOS? Не удалось установить / sysroot
  • SSLSNIFF на CentOS 7
  • CentOS 6 не регистрирует новое имя хоста в Windows Server 2003
  • Как добавить запись в контекстное меню?
  • Как установить WP-CLI для всех пользователей на CentOS 7
  • Восстановление в аварийном режиме на Centos 7
  • Смонтируйте и скопируйте / var в хранилище экземпляров EC2 во время первой загрузки
  • Могу ли я использовать KdirStat для SSH?
  • Обработайте `polkitd`, используя много CPU (слишком много?)
  • Есть ли способ полностью отключить исходящую оппортунистическую поддержку TLS в SendMail?
  • Как сделать снимок сайта через скрипт оболочки?
  • Как установить VLC 1.1.10 или 1.1.9 в CentOS 5.6 или CentOS 6.0?
  • Interesting Posts

    Панель Gnome не содержит значков приложений, меню чата и меню питания

    Как настроить период кэширования bind9

    Максимальный приоритет для некоторого трафика

    Что такое эквивалент Unix (QNX) командной строки Windows «dir / s / b»,

    Более быстрый (несжатый) инструмент архивирования, чем tar?

    Неожиданный конец файла при поиске скрипта “

    После удаления expressvpn: после удаления нет подключения к службе DNS

    keepalived: как только понизить мастер, если резервная копия может взять на себя?

    Почему режим текстового режима медленно прокручивается?

    Найти позицию совпадающего слова в строке в bash (не в позиции символа)

    При использовании dm-cache, как вы делаете снимки на кэшированном LV?

    Создайте в качестве обычного пользователя tar с файлами, принадлежащими root

    Как получить доступ к папке, в которую я не могу подключиться?

    Структура гнезда ячеек и TCP_DIAG

    Вывод скрипта python, выполняющегося как единица, не соответствует порядку, в то время как оболочки не отображаются

    Linux и Unix - лучшая ОС в мире.