KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I have a server component that I'm trying to load-test. All connections to the server use TLS 1.0. I have a simple test program that essentially does this on as many threads as I want: Full TLS handshake to the server send a request read reply close connection repeat ad nauseam My virtual machine is as follows: Java(TM) SE Runtime Environment (build 1.6.0_16-b01) Java HotSpot(TM) Server VM (build 14.2-b01, mixed mode) I have a memory leak. My memory footprint increases by about 1 meg per second when I heavily test my server, which makes it block after 15-20 minutes with OutOfMemoryException . I ran it in Netbean's profiler and it showed that the increase of memory was deep within the TLS API. Has anyone ever experienced something similar? Is there any workaround I can implement at my level? Edit. As requested, here's the profiling call trace which generates a lot of these byte[]: .java.io.ByteArrayOutputStream.<init>(int) ..com.sun.net.ssl.internal.ssl.OutputRecord.<init>(byte, int) ...com.sun.net.ssl.internal.ssl.OutputRecord.<init>(byte) ....com.sun.net.ssl.internal.ssl.AppOutputStream.<init>(com.sun.net.ssl.internal.ssl.SSLSocketImpl) .....com.sun.net.ssl.internal.ssl.SSLSocketImpl.init(com.sun.net.ssl.internal.ssl.SSLContextImpl, boolean) ......com.sun.net.ssl.internal.ssl.SSLSocketImpl.<init>(com.sun.net.ssl.internal.ssl.SSLContextImpl, java.net.Socket, String, int, boolean) .......com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl.createSocket(java.net.Socket, String, int, boolean) <my code> There are many more I can put... this would be long. I'll tell you the entry points that the profiler gives me: ....com.sun.net.ssl.internal.ssl.AppOutputStream.<init>(com.sun.net.ssl.internal.ssl.SSLSocketImpl) ....com.sun.net.ssl.internal.ssl.HandshakeOutStream.<init>(co
Tags (comma-separated)
Save Edits
Cancel