Буэнос-Айрес día todos.
Actualmente estoy trabajando подставляют el recolector de basura G1, bueno la verdad es la primera vez que tengo que tocar este Тема. Эмбарго греха, les comento el problema:
Recientemente nuestro sistema en producción recibe muchas peticiones en "хоры pico" por lo cual aumenta el espacio de consumo de memoria, хоры después de estas Пикус pareciera que el recolector никакой alcanza liberar espacio y cuando se vuelven предъявитель las хоры Пикус vuelve aumentar pero desde el último punto en el cual никакой liberó memoria, lo cual hace que al cabo de unos días se llene la memoria y nos obligue reiniciar.
Параграф Anexo imagen mejor explicación.
Сын Los datos que tengo en base al G1 Лос siguientes:
-Xloggc:/ruta/gcsrv.log
-XX:+PrintGCDetails -XX:+PrintGCTimeStamps
-XX:+PrintHeapAtGC -XX:+PrintGCDateStamps -XX:+UseG1GC
Сын Comprendo que los usados básicamente para pintar información del recolector, pero quisiera сабля: ¿existe alguna sentencia que me ayude mejorar el rendimiento de recolector?. Es decir, ¿se puede liberar espacio más rápido подставляют algún коммандос? o bien алгоритм relacionado para evitar que se llene la memoria.
Gracias.
Пересборщик, поскольку я понимаю, работает, когда не estГЎ занятый процессор, из-за которого способ mГЎs простая podrГ, - чтобы состоять в том, чтобы ограничивать количество вызовов устанавливая меньшую свежесть informaciГіn или выдавая их rГ©plicas в периоде времени для того, чтобы смогла быть освобожденной память.
opciГіn состоит в том, чтобы проверять Другую, как хранятся данные, если ты используешь переменные вне их mГ©todos quedarГЎn ahГ - ты занимаешь память, но если estГЎn внутри mГ©todos deberГ-an, освобождать, выйдя ее ejecuciГіn mГ©todo.
, Чтобы сторожить состояние процессора, памяти и GC, ты можешь использовать профиль ejecuciГіn, чтобы видеть способа mГЎs ясная то, что тратится в каждом моменте.
Все приложения должны программироваться так что ты не зависишь от пересборщика мусора. System.gc()
состоит та instrucciГіn в том, что ОН ПРЕДЛАГАЕТ, чтобы работал пересборщик мусора, но является этим, подсказка, а следовательно он может работать во время нее invocaciГіn или много времени despuГ©s.
, Если ты aplicaciГіn он наполняет память и становится все более медленной, - потому что она запрограммирована плохо. Я отношусь, которому ты открыл ресурс как например одна conexiГіn на основе данных и этого ты не закрыл . Эта situaciГіn становится худшей, если ты открываешь ресурс внутри цикла, и результат оказывается поврежденным.
Ищет в тебе cГіdigo, я уверяю тебя, что у тебя есть что-то, что остается открытым, возможно ты это не закрыл или возможно, если, но ты это сделал в месте, где cГіdigo он не входит и поэтому остается открытым.