Риски запуска моего собственного кода Java на производственном сервере

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

Заранее спасибо.

0
задан 25 March 2019 в 22:06
1 ответ

Ваша программа на Java вряд ли повредит сервер, если она не написана так, чтобы сделать что-то, что могло бы повредить сервер.

JVM выделяет непрерывный блок памяти при запуске, называемый пространством кучи. Вы используете параметры для управления минимальным и максимальным размером кучи; Я забыл, что такое значения по умолчанию, но они не очень большие. Если у вас закончится куча, ваша программа Java выйдет из строя или будет работать очень плохо, но на все остальное это не повлияет. Если для начала работы кучи недостаточно памяти, ваша JVM, вероятно, не запустится (это проблема реализации, зависящая от платформы). Вы не напрямую «освобождаете ресурсы, которые вы выделяете» в Java, но это было бы наиболее близким к тому, что произошло бы, если бы вы этого не сделали.

JVM потенциально может использовать 100% серверного ЦП при выполнении кода . Если вы включите бесконечный цикл, который не делает ничего полезного, он может съесть весь процессор на этой машине. Вероятно, это плохо для вашего сервера, поэтому постарайтесь не делать этого.

Планируете ли вы использовать параллелизм? Создавать какие-то отдельные темы? Вызвать какие-нибудь нативные библиотеки с JNI? Выполнять независимые процессы? Все это может вызвать ужасные сбои, которые сложно понять, если вы сделаете их неправильно. Поскольку вы не чувствуете уверенности в своих силах, я скажу вам прямо сейчас не следовать этому плану, если что-то из того, о чем вы думаете, связано с чем-либо из этих вещей.

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

0
ответ дан 5 December 2019 в 03:38

Теги

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