Автор Тема: Утечка виртуальной памяти  (Прочитано 8743 раз)

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: Утечка виртуальной памяти
« Ответ #15 : Март 20, 2012, 02:05:56 pm »
Посмотрел исходники top и atop - таки они под линуксом реально парсят /proc/pid/stat.
А ты случайно не обратил внимание на то, с какой максимальной частотой они туда могут смотреть? Хочется узнать с какой максимальной частотой имеет смысл смотреть в proc. Я сейчас это делаю 10 раз в секунду, но вдруг там данные обновляются реже? Тогда и я реже буду смотреть.
По моему, они там не парятся с этим делом. То есть какой-нибудь top просто раз в секунду (по умолчанию) перечитывает все. А не по умолчанию интервал задается пользователем. То есть отдано на откуп юзеру.

Поэкспериментировал с inotify, чтобы ловить именно когда меняется файл а не по таймеру опрашивать. inotify для /proc не работает. Так что только таймер.

PS. /proc/[pid]/status предназначен для чтения человеком. А для парсинга вроде как больше предназначены /proc/[pid]/statm и /proc/[pid]/stat (см тут: http://www.kernel.org/doc/man-pages/online/pages/man5/proc.5.html). Там просто набор чисел разделенных пробелом.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"