Будет ли образ Docker, созданный для Oracle Linux 7, работать на Red Hat Linux 8

В зависимости от того, что именно вас интересует, есть два варианта:

Если вас интересует количество потоков/процессов в контрольной группе, а не «средняя нагрузка»:

Просто подсчитайте строки в файле tasksдля контрольной группы. Этот файл будет автоматически обновляться при создании или удалении потока или процесса в контрольной группе.

Если вас интересует фактическое использование:

Это немного сложнее. Вы можете получить список процессов/потоков в контрольной группе из вышеупомянутого файла tasks, а затем проверить использование для каждого PID с помощью /proc, но у этого подхода так много условий гонки, что вы можете монетизировать его как соревновательный вид спорта. В качестве альтернативы, если вы используете контрольные группы версии 2, вы можете проверить файл cpu.statв контрольной группе. В этом файле будет пара строк с подсчетом микросекунд процессорного времени, потребляемого контрольной группой, поэтому вы можете получить приблизительную оценку использования, проверив его два раза с интервалом в одну секунду и разделив разницу на 10, чтобы получить процент использования (100 % для полной загрузки одного ядра,200% за полное использование двух и т. д. ). Аналогичный подход может быть реализован с cgroups версии 1 с помощью контроллера cpuacct (. Создайте контрольную группу под этим контроллером, отражающую ту, которую вы создали под контроллером cpuset ).

0
16.09.2020, 19:43
1 ответ

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

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

1
18.03.2021, 23:04

Теги

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