Я страдаю странным поведением, которое сводит меня с ума. Я пытаюсь запустить несколько слушателей компаса при запуске моего сервера, я пробовал несколькими способами, и все они с пользователем root.

  1. Создание сервиса для запуска "моего скрипта"
  2. Запуск "моего скрипта" из /etc/rc.local
  3. Запуск команды прямо из /etc/rc.local
  4. Запуск "моего скрипта" от cron @restart
  5. Запуск "моего скрипта" вручную из сеанса ssh с пользователем root
  6. Запуск вручную команд "мой скрипт" из ssh с пользователем root

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

В последних 2 случаях при запуске скрипта / команд из ssh два отдельных экрана, которые я проверял, потребляют, как мне кажется, обычное потребление памяти:

Процессы А

Но другими 4 способами отсоединенные экраны потребляют очень большое количество ресурсов:

Процессы Б

Команда очень простая (запускается 2 раза для разных папок):

screen -dm -S name_a compass watch /target_folder

Пожалуйста, кто-нибудь может дать мне понять, что может происходить?

1 ответ1

0

Я ничего не знаю о compass , но о нескольких вещах.

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

Чем отличаются первые 4 и 2 последних интерактивных ("ручных") сеанса, которые вы начали:

  • переменные окружения (export) будут другими, оболочка (bash/sh) также может быть другой;
  • stdin/stdout/stderr будет подключен к вашему терминалу в интерактивных логинах и подключен к /dev/null в первых 4 случаях. Команда compass ожидает ввода или вывода и неэффективно обрабатывает их отсутствие?

Опять же, я не знаю compass - только некоторые мысли.

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