1

Я не специалист по Linux и понятия не имею, как начать отладку этой проблемы или это вообще проблема.

Я использую сервер Linux на компьютере с Windows (двойная загрузка) и каждые несколько дней запускаю ps aux идентификаторы процессов, которые назначаются, становятся все выше и выше. Примерно через две недели выделенные идентификаторы процессов составляют около 17 000.

Это нормальное поведение? Я ожидал, что идентификаторы процессов будут использоваться повторно.

1 ответ1

0

Это не проблема и ожидается нормальное поведение.

«Я не специалист по Linux, и не знаю, как начать отладку этой проблемы или решить проблему вообще».

Это не проблема. Идентификаторы Linux запускаются до указанного количества, а затем возвращаются к началу после достижения этого максимального числа. ]

Вы можете проверить это из терминала, выполнив эту команду:

cat /proc/sys/kernel/pid_max

Вывод, который я получаю на сервере Ubuntu 16.04.5, которым я управляю:

32768

Как объяснено на странице руководства proc :

/proc/sys/kernel/pid_max (начиная с Linux 2.5.34)

Этот файл определяет значение, при котором PID оборачиваются (т. Е. Значение в этом файле на единицу больше, чем максимальный PID). Значение по умолчанию для этого файла, 32768, приводит к тому же диапазону PID, что и в более ранних ядрах. На 32-битных платформах 32768 является максимальным значением для pid_max. В 64-битных системах pid_max можно установить на любое значение до 2 ^ 22 (PID_MAX_LIMIT, приблизительно 4 миллиона).

И это число несущественно для 99% случаев использования, так как вам нужно будет беспокоиться только о том, как вы одновременно выполняете 32 768 одновременных процессов без шансов на завершение; Это не обычное дело, и сомневаюсь, что это может быть сделано по любой практической причине.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .