Имеет ли пользовательский процесс какой-либо контроль над подкачкой? - PullRequest
0 голосов
/ 29 июня 2018

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

Например, я думаю, что он может рассмотреть политику замены страниц и попытаться повлиять на ОС, чтобы не выгружать эти VIP-данные на диск. Если используется политика LRU, программа может периодически считывать данные VIP, чтобы обеспечить доступ к странице всегда относительно недавно. Программа также может использовать очень маленький объем памяти в целом, что делает вероятным, что все ее страницы были недавно доступны при запуске, и, следовательно, данные VIP вряд ли будут выгружены на диск.

Может ли он обеспечить более явный контроль над подкачкой?

Ответы [ 2 ]

0 голосов
/ 06 июля 2018

Чтобы сделать это, вы можете рассмотреть

  • Приоритизация процесса с использованием команды renice или
  • Блокировка процессов в основной памяти с помощью MLOCK (2)
0 голосов
/ 04 июля 2018

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

...