Это мой вывод htop:

Например, меня смущает этот скрипт ruby:

Сколько физической памяти он использует? 3+1+8+51+51? 51? 51+51?
да, я смотрю на это Но какая память используется моим скриптом? Почему есть два
—
Лай Юй-Сюань
51с? Это потребляет 102 мегабайта? Или только 51 мегабайт? Во внешнем РЭСЕ процесса содержит внутренние RES процесса, поэтому 3, 1, 8все меньше 51?
Есть два 51, потому что процесс раздвоен. Скорее всего, он не потребляет 102 мегабайта, потому что каждый из двух процессов использует одни и те же 51 мегабайт, но это сложно определить. Другой процесс RES содержит внутренний процесс, если эта память также находится в другом процессе, а не если нет. Поля RES показывают, сколько физической памяти использует каждый процесс, но другие процессы могут (или не могут) использовать ту же самую физическую память.
—
Дэвид Шварц
Если вы хотите узнать, используют ли два процесса одну и ту же память, используйте pmap -d <идентификатор процесса>
—
Sirch
@ LaiYu-Сюань: Да, вы не правы. Страницы не копируются, они являются общими. Они копируются только в том случае, если какой-либо процесс записывает на страницу, тогда их необходимо разделить. (Это называется «копировать при записи» или «CoW».)
—
Дэвид Шварц
RESстолбец - это тот, на который вы хотите посмотреть.