Apache использует 9 ГБ оперативной памяти, но htop показывает только 2,7 ГБ используемой оперативной памяти. Почему?

Вот один из возможных подходов:
sed -E 's/([0-9]*\.)/0\1/g;s/.//;s/([0-9]*,)/00\1/'

Примеры

echo "1.11.111.1111,Some Text Here" | sed -E 's/([0-9]*\.)/0\1/g;s/.//;s/([0-9]*,)/00\1/'
1.011.0111.001111,Some Text Here

Также работайте с этой строкой:

echo "1.1.1.1,Some Number 1 Here" | sed -E 's/([0-9]\.)/0\1/g;s/.//;s/([0-9],)/00\1/'
1.01.01.001,Some Number 1 Here

...и эта строка:

echo "1.2.2101.7191,Some Text Here" | sed -E 's/([0-9]*\.)/0\1/g;s/.//;s/([0-9]*,)/00\1/'
1.02.02101.007191,Some Text Here
0
03.10.2019, 14:59
1 ответ

Резидентный размер включает общие страницы :, в том числе общие библиотеки и, в данном случае, apache2сам двоичный файл. Инструменты, которые вы используете, подсчитывают всю эту общую память один раз для каждого процесса, но они присутствуют только один раз в физической памяти, поэтому они используют гораздо меньше, чем вы ожидаете от добавления резидентных размеров.

Чтобы лучше понять реальное использование памяти вашими процессами,вам нужно посмотреть на /proc/<pid>/smaps; для каждого раздела, описанного там, сравните значение Rssи значение Shared_.... Ядро пытается помочь вам выполнить интересующий вас расчет, вычисляя долю процесса -в RSS, заданную как Pss.

1
28.04.2021, 23:28

Теги

Похожие вопросы