Вызов блокировки памяти в ядрах Linux 2.6.35 и за ее пределами

Эта статья LWN о уплотнении памяти указывает на то, что в ядре linux можно вызвать сжатие памяти

Запись номера узла в / proc / sys / vm / compact_node, что приведет к тому, что уплотнение произойдет на указанном узле NUMA.

Когда следует записывать номер узла в запись sys? Я имею в виду, что я должен обнаружить или прочитать, а затем записать узел в запись sys? Какими должны быть мои критерии и как я должен измерять эти критерии перед тем, как писать в запись sys?

(…) Другое для отказа системы при попытке выделить страницу более высокого порядка; в этом случае уплотнение будет выполняться как предпочтительная альтернатива освобождению страниц посредством прямого возврата. При отсутствии явного триггера алгоритм уплотнения будет оставаться бездействующим; есть затраты на перемещение страниц, которые лучше всего избегать, если они не нужны.

Что означает отказ системы? Неудача, каким образом? Как я могу обнаружить этот сбой? По ошибке это означает простой запрос на выделение страницы более высокого порядка, которая была лишена? В этом случае алгоритм уплотнения запускается автоматически сам по себе?

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

One Solution collect form web for “Вызов блокировки памяти в ядрах Linux 2.6.35 и за ее пределами”

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

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

  • Разница между загрузочными и не загружаемыми разделами
  • Исходный код ядра: что такое parent_tidptr и child_tidptr в do_fork ()?
  • Могут ли повлиять на адреса символов ядра? последствия?
  • Почему вызов системы waitpid может использоваться только с дочерними процессами?
  • Как устранить ошибку ядра Fedora
  • EDID недействителен на устройстве USB DisplayLink
  • Почему Debian Linux поддерживает до 128TiB виртуальное адресное пространство для каждого процесса, но только физическую память 64TiB?
  • Как предотвратить атаки BADUSB в debian 9?
  • компиляция ядер для арматуры
  • Как правильно применить патч?
  • Tegra Mesa GLES без X
  • Возможно ли получить информацию для дерева устройств с помощью / sys работающего ядра?
  • Interesting Posts

    Bash: неоднозначное перенаправление

    Bash распечатать результат make

    В SciTe (Scintilla), как я могу создать синтаксис-выделение для моего собственного пользовательского языка?

    Как вызвать действие в условиях низкой памяти в Linux?

    Поиск ключевого слова в файле PDF

    Как я могу установить файлы заголовков ядра для Kali 1.1.0 (moto) "3.18.0-kali1-amd64"?

    Как вы исправляете обновление apt-get «Несоответствие хэш-суммы»

    tcpdump: «захваченные пакеты» и «пакеты, полученные фильтром»

    Samba не запускается на сервере Ubuntu 16.10

    Есть ли эквивалентная книга / ресурс для «Интерфейса программирования Linux» для FreeBSD?

    Как окончательно удалить псевдоним из моей оболочки

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

    заставить sudoers использовать свой собственный файл истории

    Отображать conky всегда только на экране LVDS

    vnc: невозможно получить приглашение оболочки с открытым приложением по умолчанию

    Linux и Unix - лучшая ОС в мире.