Если я правильно понимаю, 32-битная ОС (Ubuntu) может адресовать только 4 ГБ памяти, поэтому ОЗУ размером более 4 ГБ будет использовать только 4 ГБ, а остальное - пустая трата.

Теперь я запутался в этой ситуации для оперативной памяти с аналогичной для виртуальной памяти и для подкачки.

  1. с виртуальной памятью подкачка + оперативная память, если размер виртуальной памяти превышает 4Gib, будет ли лишняя часть пустой тратой для 32-битной ОС?
  2. если теперь мне нужно выбрать размер раздела подкачки, то стоит ли учитывать, что 32-разрядная ОС может адресовать только 4 ГБ памяти? Нужно ли выбирать размер свопа в отношении адресуемого ограничения 4Gib? Всегда ли своп, превышающий 4 ГБ, будет бесполезным?

  3. виртуальная память равна оперативной памяти и подкачки? или виртуальная память может использовать пространство на жестком диске вне раздела подкачки?

Спасибо и всего наилучшего!

3 ответа3

2

32-битная загрузка ЦП применяется только к памяти процесса и физической памяти; ОС поддерживает свои собственные независимые от процессора структуры для отображения свопа на различные процессы. Можно использовать столько операций подкачки, сколько может выдержать ОС, независимо от разрядности процессора.

Строго говоря, "виртуальная память" - это пространство, к которому процесс может получить доступ. Некоторые из них могут быть сопоставлены с подкачкой или хранением через mmap(2).

1

Swap не перестает обрабатывать адреса после 4 ГБ, это ограничение применяется к отображению физической памяти даже в 32-разрядной среде (она не обрабатывается таким же образом).

Что касается объема подкачки, то существует распространенный миф о том, что он должен быть в два раза больше вашего физического объема ОЗУ, это просто не нужно - своп был гораздо более важным компонентом в те времена, когда 512 МБ ОЗУ было стандартом. , но в настоящее время он имеет гораздо больше функции "заднего сиденья", если вы хотите так его назвать. Если вы используете режим гибернации, вы должны убедиться, что у вас есть как минимум физическая оперативная память + немного больше (возможно, превышение 512 МБ, если вы хотите быть осторожным).

С этим сказал, лучше, чем потом сожалеть. Если у вас есть свободное место, подумайте об использовании среднего размера свопа (возможно, в 1,5 раза больше вашего физического).

1

Если я правильно понимаю, 32-битная ОС (Ubuntu) может адресовать только 4 ГБ памяти, поэтому ОЗУ размером более 4 ГБ будет использовать только 4 ГБ, а остальное - пустая трата.

Это не правильно. Вы правы, что 32-битная ОС может одновременно обрабатывать только 4 ГБ виртуальной памяти. Но это не имеет ничего общего с физической памятью. 32-разрядные ОС могут адресовать более 4 ГБ физической памяти, используя, например, PAE.

с виртуальной памятью подкачка + оперативная память, если размер виртуальной памяти превышает 4Gib, будет ли лишняя часть пустой тратой для 32-битной ОС?

Виртуальная память - это метод создания вещей, которые выглядят как память, которые на самом деле не отображаются в физическую память. Отображенная виртуальная память не может превышать 4 ГБ в 32-разрядной ОС. Тем не менее, оконное управление может быть использовано для адресации более 4 ГБ виртуальной памяти, но не для всего сразу.

если теперь мне нужно выбрать размер раздела подкачки, то стоит ли учитывать, что 32-разрядная ОС может адресовать только 4 ГБ памяти? Нужно ли выбирать размер свопа в отношении адресуемого ограничения 4Gib? Всегда ли своп, превышающий 4 ГБ, будет бесполезным?

Нет, потому что ограничение 32-битной ОС зависит от того, сколько виртуальной памяти она может адресовать одновременно. Допустим, вы запускаете восемь процессов, и каждый из них хочет использовать 1 ГБ виртуальной памяти. Это нормально и не накладывает никаких ограничений, но это может потребовать более 4 ГБ подкачки.

виртуальная память равна оперативной памяти и подкачки? или виртуальная память может использовать пространство на жестком диске вне раздела подкачки?

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .