Посмотрел исходники 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). Там просто набор чисел разделенных пробелом.