Почему частично ОЗУ (пусть'ы сказать, 80%), делает устройство лаг много, хотя и есть некоторое пространство для хранения больше данных? Я ожидаю, что он работает до 99%.
Я замечаю, что на Андроид больше чем на ПК, так как он имеет меньше оперативной памяти, например, мой мобильный телефон имеет 2 ГБ оперативной памяти; когда у меня меньше 1 ГБ свободной оперативной памяти, все норм работает! Почему это произошло, хотя она по-прежнему имеет ~ 1 ГБ использовать?
Есть много здесь, но я постараюсь объяснить это просто, как я могу и так применимо к любой ОС.
Есть 2 основные принципы здесь:
Совокупность всего, что должно быть в оперативной памяти и те вещи, которые бы выгодно быть в оперативной памяти почти всегда больше, чем размер оперативной памяти. Вещи, которые бы выгодно быть в оперативной памяти, включают процесс рабочих наборов и список ожидания. Последний содержит данные и код, который когда-то был в активном использовании, но с тех пор впал в неактивность. Многое из этого будет использоваться Снова, некоторые из них довольно скоро, поэтому это выгодно, чтобы держать это в памяти. Эта память действует как своего рода кэш, но это не очень важно, поэтому в категории от доступной памяти. Как освободить память, он может быть быстро приведен к любой программе, которая в ней нуждается. В интересах производительности в режиме ожидания память должна быть большой.
Частота использования блоков памяти далеко не случайным, но может быть предсказано с большой точностью. Память разбивается на блоки, часто 4К байт. Некоторые блоки обращались много раз в секунду, в то время как другие не были доступны в течение многих минут, часов, дней, или даже недель, если система была достаточно долго. Существует широкий диапазон использования между этими 2 крайностями. Менеджер памяти знает, какие блоки были недавно просмотренных и тех, кто еще не. Это разумное предположение, что блок памяти, который был недавно просмотренные будут снова нужны. Память, которая не была недавно обращались, вероятно, выиграл'т быть необходимы в ближайшее время. Многолетний опыт доказал, что это действует принцип.
Диспетчер памяти использует второй принцип в значительной степени смягчить нежелательные последствия первого. Для этого он делает балансирование хранения часто используемых данных в оперативной памяти, пока что хранить редко используемые данные в исходные файлы или файл подкачки.
Когда оперативной памяти много эта эквилибристика легко. Большая часть не так уж и недавно используемые данные могут храниться в памяти. Это хорошая ситуация.
Вещи становятся более сложными при увеличении нагрузки. В сумме данные и код в использования больше, но размер ОЗУ остался прежним. Это означает, что меньшее подмножество этого может быть сохранена в памяти. Некоторые из менее востребованные данные уже не могут быть в оперативной памяти, но должен оставаться на диске. Менеджер памяти пытается очень трудно поддерживать хороший баланс между памяти в активном использовании и доступной памяти. Но при увеличении рабочей нагрузки на диспетчера памяти будет вынужден дать больше памяти для запущенных процессов. Это не очень хорошая ситуация, но менеджер памяти не имеет никакого выбора.
Проблема в том, что перемещение данных из оперативной памяти, запуск программ занимает много времени. Если ОЗУ достаточно, он выиграл'т случаются очень часто и выиграл'т даже заметить. Но когда использование памяти достигает высоких уровней, это будет происходить гораздо чаще. Ситуация может стать настолько плохо, что больше времени тратится на перемещение данных из оперативной памяти, чем тратится на самом деле использовать его. Это взбучку, что менеджер памяти пытается очень трудно избежать, но с большим объемом работы зачастую не удается избежать.
В яслях памяти на вашей стороне, всегда стараются это'ы лучше для поддержания оптимальной работы даже при неблагоприятных условиях. Но когда объем работы велик и доступной памяти не хватает, это должны делать плохие вещи для того, чтобы продолжать функционировать. Это на самом деле самое главное. Приоритетным является первым, чтобы держать вещи работает, затем сделать то как можно быстрее.
Все современные операционные системы используют иным образом неиспользуемую память для кэширования данных, так что она может быть доступна из быстрой оперативной памяти вместо более медленного хранилища. Они, как правило, сообщить об этом в свободной памяти, так как приложения можно очистить кэш и использовать его, если им это нужно, но это's по-прежнему фактически используется. Чем меньше этого есть, тем меньше данных может быть кэширован, и тем медленнее компьютер будет.
этот ответ был в основном переписываются по реорганизации структуры и четкое сообщение. Я открыл ее, как ответить на вики сообщества, так что не стесняйтесь редактировать.
Пейджинг представляет собой схему управления памятью, через который фиксированного размера блоки памяти имеют процессы, возложенные на них. Когда использование памяти поднимается до высокого уровня (т. е. 80% емкости), пейджинг начинает вытягиваться из оперативной памяти в видеопамяти (виртуальной памяти).
видеопамяти находится в памяти системы, как правило, в жестком диске, или другие значительные места хранения.
Процессов назначаются часть вашего жесткого диска для запуска в качестве памяти, и он будет относиться к своей секции как Ram. Это вполне нормальный процесс, однако, когда время, затраченное на передачу данных из видеопамяти увеличивается, уменьшается производительность системы.
При выделенной оперативной памяти осуществляется напрямую через материнскую плату с процессором, который обеспечивает быструю связь, виртуальной памяти должен поперечной кабелей между платой и расположение видеопамяти.
Однако это вызывает лишь незначительное влияние на производительность. Когда курс которой подкачки к видеопамяти занимает место резко увеличивается (при выделенной оперативной памяти подходы мощности), обмолот происходит.
Обмолот является практика быстро и стремительно переносить страниц памяти в виртуальной памяти. Это влечет за собой огромные потери на производительности как больше времени будет потрачено выборки и адресации данных.
Допустим, вы хотите записать число 30 цифр. Вы можете либо сидеть рядом с экраном и с блокнот и записать его (с помощью выделенной памяти), или Помнишь кусками 5, бежим в следующую комнату и запишите это в блокнот там (используя виртуальную память). Как получить работу, но что будет быстрее?
Узнайте больше о thashing здесь!
большое спасибо участникам этого ответа в том числе Даниил Б, xenoid и Джон Бентли.
[1]: http://pages.cs.wisc.edu/~Ремзи/OSTEP/ВМ-пейджинг.формат PDF
Это's, потому что ОС должна делать большое подкачки (погрузка части активных программ) и перестановка (перемещение данных в памяти на HD и наоборот), чтобы держать ваше программное обеспечение работает. Когда новые страницы должны быть загружены, которые, возможно, потребуется больше места, чем доступно 20%, ОС придется поменять существующие страницы в оперативной памяти, которые он считает менее вероятно, будет в скором времени. Особенно при запуске других программ. Выгрузку и обратно в страницы занимает много времени и существенно замедляет производительность ПК, потому что вы теперь работают на скорости в HD формате, а не в оперативной памяти.
Это помогает немного на жесткий диск создать специальный раздел на HD и назначить его в качестве выделенного на "своп" и (не'т использовать его и"Реал" и файлы) пространстве, так замена меньше пострадала от фрагментации системы HDS.
Помните, что жесткие диски на порядок медленнее, чем оперативная память, и ОЗУ себя это'т все, что быстрое, чтобы начать с (в общей архитектуре). В порядке скорость доступа (где каждая ступенька на порядок медленнее, чем выше) у вас есть
Диспетчер виртуальной памяти представляет собой игрок. Это'ы по ходу матча вы не'т нужна ваша оперативной памяти все время, поэтому он делает предположение и бросает кости, что документ программы (которая была на заднем плане за последние 10 минут, когда вы читаете это) Это'т действительно важно, и это толкает его на диск.
Но тогда вы нажмите кнопку назад, чтобы документ! Теперь ВММ должен загрузить все данные с жесткого диска. Хуже, если вы'вновь мало оперативной памяти, Теперь нажимаем другие данные (игры) на жесткий диск, чтобы освободить полезное пространство. Линукс любит жить на краю. Она заполнит подавляющее большинство из оперативной памяти часто используемые данные (отлично подходит для серверов с несколькими процессами).
Обмолот ответы почти ногтя. Если вы'повторно в состоянии, можно свести к минимуму, насколько быстро это произойдет за счет сокращения подкачки (сколько оперативной памяти система позволит использовать до переезда вещей для подкачки). Я хотел бы установить системы, чтобы держаться подальше от замены до оперативной памяти достигает 99% для серверных приложений, так как по умолчанию фактически означало бы, что я должен был бы код на вещи только используют 80% оперативной памяти, чтобы воспользоваться преимуществами кэширования не наказывают за проталкивание системы в подкачки.