Большинство продолжительных команд немедленно уничтожается на (Ubuntu 10.04) Amazon EC2

Я сказал бы, забывают использовать Пассивный или Активный FTP. Я ненавижу двухпортовую природу FTPS и FTP. Вместо этого загрузите сервер WinSSHD и выполните сервер SFTP на единственном порте: порт 22. Тем путем Вы только имеете дело с единственным крошечным отверстием.

Подключите к нему использование клиент Tunnelier.

26
задан 15 May 2011 в 07:01
5 ответов

Необходимо смочь узнать то, что уничтожило процесс путем рассмотрения вывода dmesg команда; или в файлах журнала /var/log/kern.log, /var/log/messages, или /var/log/syslog.

Существует много вещей, которые могут заставить процесс быть вкратце уничтоженным:

  • Если это превышает твердый ulimit для различной памяти или типов использования CPU, что можно исследовать использование ulimit -H -a
  • Если система является низкой на виртуальной памяти, процессы могут быть уничтожены oom-уничтожителем ядра к свободному память (В Вашем случае, это - вероятно, не это),
  • Если система имеет SELinux и/или установленный PaX/grsecurity, процесс мог бы быть уничтожен, если это пытается сделать что-то, что это не позволяется политикой безопасности, или если это пытается выполнить самоизмененный код.

Журналы или dmesg должны сказать Вам, почему процесс был уничтожен.

36
ответ дан 28 November 2019 в 20:07

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

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

10
ответ дан 28 November 2019 в 20:07

Как уже объяснили другие, у Вас заканчивается память, таким образом, из памяти уничтожитель инициирован и уничтожает некоторый процесс.

Можно зафиксировать это выполнение также:

a) обновите свою ec2 машину до более мощной, 'маленький экземпляр' имеет 2.5x больше памяти (1.7 ГБ), чем 'микро экземпляр' (0.64 ГБ), стоит дополнительных денег

b) добавление раздела подкачки - добавляет дополнительный диск EBS, mkswap /dev/sdx, swapon /dev/sdx, затраты устройство хранения данных EBS и сборы IO

c) добавление файла подкачки - dd if=/dev/zero of=/swap bs=1M count=500, mkswap /swap, swapon /swap, затраты сборы IO и свободное пространство на корневом EBS

c) должен быть достаточным, но иметь в виду, что микро экземпляр, как предполагается, не выполняет продолжительные интенсивные CPU задачи должные пределы CPU (только позволенные кратковременные вспышки).

4
ответ дан 28 November 2019 в 20:07

Журнал говорит, что у Вас заканчивается подкачка/кэш-память.

    May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.272240] 0 pages in swap cache
    May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.272242] Swap cache stats: add 0, delete 0, find 0/0
    May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.272243] Free swap  = 0kB
    May 14 20:29:15 ip-10-112-33-63 kernel: [11144050.272244] Total swap = 0kB

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

1
ответ дан 28 November 2019 в 20:07

У меня была такая же проблема. Мои процессы убивались.

Я обнаружил, что в Ubuntu AMI, который я использовал, не было настроено пространство подкачки. Когда память заполнена и нет свободного места для подкачки, ядро ​​непредсказуемо начнет уничтожать процессы, чтобы защитить себя. Пространство подкачки предотвращает это. (Эта проблема особенно актуальна для экземпляра Micro из-за небольших 613 МБ памяти.)

Чтобы проверить, настроено ли пространство подкачки, введите: swapon -s

Настройте пространство подкачки: http://www.linux.com/news/software/applications/8208-all-about-linux-swap-space

Другие ресурсы: http://wiki.sysconfig.org.uk/ отобразить / howto / Построить + свой + собственный + Core + CentOS + 5. x + AMI + для + Amazon + EC2

3
ответ дан 28 November 2019 в 20:07

Теги

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