Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 26139|Отговор: 0

[Източник] [Практика] Отстраняване на проблема с пускането на Java приложение на Linux сървър и прекъсването на разговора

[Копирай линк]
Публикувано в 9.09.2021 г. 10:52:50 ч. | | | |
Отворете уебсайта на dev средата сутринта, менюто не се зарежда данни и откривам, че наистина има проблем с интерфейса.

Влезте в сървъра, за да видите Java приложениетоПренасочване на изходни и лог файлове, установи, че последното логаритмично време остава 21:15, както е показано на фигурата по-долу:



Провери системните логове

8 сеп 21:30:05 centos7-dev04 kernel: Извън паметта: Kill process 32452 (java) резултат 84 или sacrifice child
8 сеп 21:30:05 centos7-dev04 kernel: Убит процес 32452 (java), UID 0, total-vm:7016412kB, anon-rss:1421400kB, file-rss:0kB, shmem-rss:0kB



Ако подозирате, че дадено приложение е било унищожено от Linux, можете бързо да го отстраните с помощта на следната команда:



За да се провери използването на паметта, командата е следната:



МинавамTop команда, и след това напишете mключове, сортирани според паметта, използвана от процеса, както е показано на фигурата по-долу:

PID: ID на процеса
ПОТРЕБИТЕЛ: Собственикът на процеса
PR: Приоритетът на процеса, колкото по-малък е приоритетът, толкова по-голям приоритет трябва да се изпълни
Нинис: Стойност
VIRT: Виртуалната памет, заета от процеса
RES: Физическата памет, заета от процеса
SHR: Споделена памет, използвана от процеса
С: Състоянието на процеса. S означава хибернация, R означава бягане, Z означава безизходица, а N означава, че приоритетната стойност на процеса е отрицателна
%CPU: Скоростта на използване на процесора, използван от процеса
%MEM: Процентът физическа памет и общата памет, използвана от процеса
ВРЕМЕ+: Общото време на процесора, изразходвано от процеса след стартиране, тоест кумулативната стойност на времето за използване на процесора.
COMMAND: Името на командата за стартиране на процеса



Причината приложението да спре беше, че сървърът свършваше паметта си, а Linux автоматично унищожаваше Java приложението според някои правила, все пак Java приложението заема много голямо количество памет.

Можете да проверите кое Java приложение е специфично, като използвате следната команда:



решение

1. Увеличете паметта на сървъра
2. Ограничаване на използването на памет за Java приложения
3. Мигриране на някои Java приложения към други сървъри





Предишен:Linux Overlay файлова система в Docker
Следващ:Препоръчват се два инструмента за анализ на слоя на изображението в Docker
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com