우리 프로젝트에는 GWT 모듈이 있습니다. 최근에 주요 메모리 오버로드가 있었고 그 중 하나는 StackTraceDeobfuscator.javaConcurrentHashMap<String, HashMap<String, String>> symbolMaps
필드에 저장된 120MB 개체였습니다. 그것은 무엇이며 무엇을위한 것입니까?심볼 캐시 맵은 120MB입니다. 무엇이며 무엇이 포함되어 있습니까?
"과부하"가 발생한 시점에서지도가 포함 된 16 개의 세그먼트 중 1 위는 59MB이고 2 위는 30MB이고 3 위는 29.9MB였습니다.
필자가 이해하는 한, 코드가 복잡해지고 stacktraces를 저장한다는 사실과 관련이 있지만, 누군가 더 자세히 설명해 줄 수 있습니까? 그것은 거대한 stacktraces와 너무 많은 예외가 있었고 그들은 모두 캐시에 들어갔 을까? 그러나 120MB는 여전히 거대합니다.
그래, "무거운"정보가 120MB의 가중치를 얻었습니까? – niralittle
심볼 맵은 소스 코드뿐만 아니라 GWT 라이브러리에서 사용되는 코드에서도 생성 된 매핑을 포함합니다. 또한 여러 브라우저 용으로 컴파일 된 코드에 가장 적합합니다. – icza
그리고 그로부터 많은 기억이 필요하다는 것은 정상입니까? – niralittle