обновите ss утилиту на песнях

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

Кернел использует комбинацию таких вещей, чтобы решить, что подкачивать:

  • Как недавно память была использована.
  • Была ли память изменена с тех пор, как она была картирована. Так, например, разделяемая библиотека будет вытеснена раньше памяти кучи, потому что память кучи грязная и ее нужно записать подкачки, в то время как разделяемая библиотека mapped memory может быть снова загружена из оригинального файла на диске, если она снова понадобится, так что нет необходимости записывать эти страницы подкачки. Здесь вы должны понимать, что память tmpfs всегда грязная (если только это не свежая страница, заполненная нулями), потому что она ничем не подкреплена.
  • Подсказки из mprotect().
  • Как и многие другие.

Короткий ответ: нет, вы не можете напрямую переопределить решения кернела о том, как управлять памятью.

.
1
07.08.2014, 12:47
2 ответа

ss не находится в пакете под названием ss. Если вы запустите:

yum provides */ss

вам покажут список пакетов, предоставляющих утилиту ss. Быстрое прочтение этого списка покажет, что пакет, предоставляющий ss - это iproute.

Возможно, вы могли бы использовать веб-сайт, например http://rpmfind.net/linux/RPM/index.html для поиска более поздних версий iptroute и установки этого.

Проблема такого подхода заключается в том, что более поздние пакеты будут иметь зависимости, которые вы не установили на CentOS 6. Следовательно, их тоже нужно будет установить. Через некоторое время вы получите систему hotchpotch с различными версиями утилит и библиотек, которые не были тщательно протестированы друг с другом, что только причинит вам много боли, особенно когда вы попробуете позже yum update.

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

Другим вариантом будет использование Copr build system для удаленной компиляции. Вы создаете src.rpm для iptables и отправляете его на copr для сборки. Создать src.rpm относительно просто. Еще проще - это редактирование уже созданных файлов src.rpm из других систем, таких как CentOS 7 или Feodra 20. Информация о src.rpm доступна на сайте Fedora Wiki, Fedora Docs и CentOS и, конечно же, в Google.

Редактируйте файл .spec в пределах src. rpm, чтобы отразить версию пакета, который вы хотите установить, помня, что определенная версия пакета (например, iproute) вполне может потребовать установки определенной версии других библиотек. В этом случае, вы окажетесь в такой же ситуации, как если бы скачали rpm из RPM Find.net выше. Однако, использование этого метода дает немного больше контроля.

.
2
27.01.2020, 23:38

ss предоставляется пакетом iproute из официального репозитория RHEL rpm. Последняя версия Red Hat на данный момент - 2.6.32, которую вы используете. Вы можете найти последние исходники на git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git . Дополнительная информация доступна здесь . Вероятно, вам придётся скомпилировать его самому.

.
0
27.01.2020, 23:38

Теги

Похожие вопросы