Назад | Перейти на главную страницу

Могу ли я отключить Tomcat при отсутствии запроса?

Я использую Tomcat 7 на сервере Ubuntu для небольшого веб-сайта. Но есть и другие процессы, работающие на сервере, и я думаю, что Tomcat имеет высокую нагрузку как на процессор, так и на память. По этой причине мне любопытно, могу ли я перевести сервер Tomcat в спящий режим, пока нет ответа. Есть ли способ сделать это на сервере автоматически или есть другие контейнеры сервлетов, которые мы можем это сделать?

Прошу прощения за этот ответ, который может быть тем, чего вы ожидали, но:

Когда Tomcat не получает запроса, значит, ему нечего делать, и он не потребляет циклов ЦП. Если вы наблюдаете высокую загрузку процессора, связанную с Tomcat, когда он не получил запроса, что-то действительно не так.

И, если Tomcat долгое время не обслуживал запросы, если вашей системе Ubuntu требуется память, она автоматически поместит память, используемую Tomcat, на диск: этот механизм называется обмен. Проверьте, сколько места для подкачки у вас есть в вашем Ubuntu, используя следующую команду

$ free
            total       used       free     shared    buffers     cached
Mem:       7858068    7391512     466556          0     114304    2853220
-/+ buffers/cache:    4423988    3434080
Swap:      2101244     219372    1881872

Если у вас нет раздела подкачки, я настоятельно рекомендую вам создать его. Потому что это поведение системы, заключающееся в размещении памяти спящего приложения на диск, когда системе требуется память, установлено по умолчанию и будет работать для любого приложения, которое ничего не делает в течение «длительного» времени.

Боюсь, это не кот, а война, нагружающая ЦП и память :)

Tomcat сам по себе - крошечная программа, очень быстрая и легкая. Вы можете скачать кота и изучить его влияние, если хотите увидеть точные цифры. С другой стороны (я должен упомянуть, хотя вы, возможно, знаете, что) военные файлы с приложениями обрабатываются tomcat, поэтому они не порождают дополнительные процессы, другими словами, все войны и сам tomcat запускаются в та же JVM.

Поэтому правильным решением было бы понять, почему ваша война точно загружает сервер. Технически, если tomcat не обрабатывает запросы, это должно быть только какое-то фоновое задание, которое было определено в этой войне, возможно, с некоторыми асинхронными задачами и т. Д., Я думаю, у вас есть идея. Затем повторно факторизуйте файл войны.

То, что вы предлагаете, не является обычной практикой и технически не подходит.

Надеюсь это поможет

Вам следует остановить службу, если она вам не нужна.