ClassLoader Leak - Are they worth solving?

后端 未结 5 1880
暖寄归人
暖寄归人 2021-02-07 17:03

ClassLoader leaks usually result in java.lang.OutOfMemoryError: PermGen. In the instance of working on application servers you may see this as a result of

5条回答
  •  -上瘾入骨i
    2021-02-07 17:49

    @biziclop is right. You need to be pragmatic about this.

    If the problem is only in test servers, you can probably dismiss this as not worth the effort to solve.

    If the problem is in production servers then you need a solution or a workaround. The solution is hard work, but the workarounds may be less work:

    • Workaround #1 - don't do hot deploys to production servers; only do full redeployments and restarts.

    • Workaround #2 - periodically do a full restart of the production servers to avoid running out of permgen space. Combine this with increasing the permgen space.

    In a well resourced / well run environment you should be doing all of your testing on separate servers. If the downtime of a full deployment is a concern, you should be minimizing redeployment disruptions using server replication and progressive redeployment. Hot deployments to production should be unnecessary.

    If you are in the position where you have no test environment and are doing frequent hot deploys to a production machine to minimize downtime, you are skating thin ice. The chances are that you will eventually make a mistake that results in damage which takes a long time to recover from ...

提交回复
热议问题