Теоретический вопрос об использовании памяти

Я задаюсь вопросом о следующей проблеме:

Взятый некоторые abc консоль (неважно, если bash,zsh или что-то) в некоторых *отклоняют систему. Если я запускаю некоторый процесс stuff который использует 2 МБ памяти, и затем запустите второй экземпляр процесса stuff, сколько памяти будет использоваться всего?

Действительно ли это верно, что 4 МБ памяти теперь будут использоваться?

0
задан 9 February 2015 в 03:18

1 ответ

Если оба процесса запускаются независимо, мы должны предполагать, что каждый процесс будет запускаться так, как будто не запущен другой «двойной» процесс (если им не нужно контролировать одни и те же ресурсы, например файлы). Я думаю, что это относится к большинству простых программ без GUI или необходимости заботиться о нескольких экземплярах.

Однако система может избежать этого и обмениваться постоянными статическими данными между всеми экземплярами процесса. Эти данные могут состоять из двоичного кода, констант, общих библиотек и т. Д.

Кроме того, когда вам нужно только физическое использование ОЗУ, вам также следует подумать о перестановке. Linux будет помещать редко используемые данные в раздел / файл подкачки на жестком диске, чтобы освободить немного более оперативной памяти в качестве кеша.

Итак, сделаем вывод: Трудно сказать, сколько памяти будет использоваться многими равными процессами, потому что ядро ​​оптимизирует использование, разделяя постоянные данные между различными экземплярами, но вы можете почти уверен, что использование одного отдельного процесса будет менее чем в n раз.

2
ответ дан 6 October 2019 в 01:58

Другие вопросы по тегам:

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