При использовании виртуальной памяти это плохая идея? - PullRequest
0 голосов
/ 15 декабря 2018

Я прохожу курс по ОС, и нас спросили, когда использование виртуальной памяти - плохая идея, и что можно улучшить в случае отсутствия поддержки виртуальной памяти?

Я подумал, может быть, в системах реального времени,при управлении уровнем виртуальной памяти возникают накладные расходы.Что ты думаешь?

Ответы [ 3 ]

0 голосов
/ 15 декабря 2018

Виртуальная память не будет использоваться, если физическая память не находится на опасно низком уровне.Есть несколько параметров ядра, которые контролируют его использование, например vm.swappiness

Если у вас слишком большой набор параметров подкачки, ядро ​​будет более агрессивно менять местами, чтобы гарантировать доступность ОЗУ, котораяиз-за этого система будет чувствовать себя вялой, но она гарантирует, что оперативной памяти достаточно для вещей, которые действительно в ней нуждаются.

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

Однакоесли у вас много виртуальной памяти, ядро ​​начнет загружать данные на диск, и ваш мошеннический процесс будет потреблять все больше и больше памяти, запускать все в виртуальную память, а затем система запустит trashing.Это означает постоянное переключение содержимого в оперативную память до такой степени, что все операции прекращаются.Обычно в этот момент OOM killer действует слишком медленно, и жесткий сброс - ваш единственный вариант.Если это произойдет с вашей системой, вы увидите, как ваши движения мыши начинают отставать и вскоре перестают отвечать, а индикатор активности вашего жесткого диска загорается, как рождественские огни.

0 голосов
/ 15 декабря 2018

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

0 голосов
/ 15 декабря 2018

Я согласен с вами , когда памяти достаточно, виртуальная память может замедлить скорость компьютера.

...