Почему сумма полей Rss в /proc/$$/smaps отличается от 24-го поля в /proc/$$/stat?

Насколько я понимаю, значение, возвращаемое из

(1) awk '/Rss:/{ sum += $2 } END { print sum }' /proc/$$/smaps

а также

(2) cat /proc/$$/stat | cut -d " " -f24

должны быть равны, почему это не так?

На самом деле они в 4 раза больше, поэтому (1)/4 = (2) из ​​всего, что я тестировал.

Подробную информацию о файлах можно найти на man 5 proc

uname -a: домашний сервер Linux 4.4.0-78-generic #99-Ubuntu SMP Чт, 27 апреля, 15:29:09 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux


person dippynark    schedule 05.07.2017    source источник


Ответы (1)


Поле rss в файле статистики указано в страницах. Страница на большинстве аппаратных средств будет иметь размер 4096 байт. Поскольку вы сравниваете это с полем в килобайтах, вы можете легко увидеть, как вы получили разницу в 4 раза: 4096/1024 = 4.

person employee of the month    schedule 06.07.2017