Tag: 内存泄漏

如何在Java中find非堆空间内存泄漏?

我们有一个使用eclipse-jetty版本8.1.6的java webserver。 最近我们开始注意到内存不足的错误。 我们对活动的线程数目没有分析。 这在100左右似乎是合理的。该进程有5GB的最大堆内存和4GB的初始堆内存。 Process Details Environment: Docker(kubernetes) java.version="1.8.0_91" java.vm.info="mixed mode" java.vm.name="Java HotSpot(TM) 64-Bit Server VM" thread size = 1024K ulimit is unlimited for max process per user. Container(Pod) Max memory is allocated to be 8GB networking服务器平均每分钟接收350个请求。 我们还在ELB(kubernetes服务)之后运行了许多这样的实例。 运行几个小时后,我们注意到这个OOM。 这个问题是随机的,它发生在压力testing。 OOM StackTrace: java.lang.OutOfMemoryError: unable to create new native thread at java.lang.Thread.start0(Native Method) [na:1.8.0_91] at […]

Python服务器应用程序泄漏内存

我试图诊断为什么我的Python服务器应用程序泄漏内存。 该应用程序需要一个图像的请求使用Vipsresize,并返回图像。 在每次请求之后,内存使用量会随着原始图像的大小而大致增长。 from fapws import base import fapws._evwsgi as evwsgi from gi.repository import Vips import urllib2 import hmac import hashlib import base64 import StringIO from boto.s3.connection import S3Connection from boto.s3.bucket import Bucket def start(): evwsgi.start('0.0.0.0', '80') evwsgi.set_base_module(base) def lfrThumbnail(environ, start_response): try: parameters = environ['PATH_INFO'].split('/') s3File = 'my s3 url' + parameters[0] width = float(parameters[1]) […]

为什么即使我的堆和非堆在128M上限,JVM进程RAM也会变得更大(1GB +)?

我有一个Docker容器运行一个Java进程,即使MaxHeapMemory被设置为128m,Resident Size(RSS)也会持续启动(1GB +)。 没有线程被创build(他们是32),没有被加载的类(〜5000)。 我正在使用JNI与Chromiumembedded式框架(jcef)进行通信 对JVM进行性能分析,它将消耗128M的堆,非堆的消耗约为50M。 需要1天才能达到1GB,但是它永远不会停止增长。 好奇的是:如果我在没有Docker的OSX上运行它,内存保持不变。 任何人有过这个问题吗? libc中的任何错误,例如? 任何提示? 最好,

BandwidthIn和BandwidthOut图表代表什么服务?

我有一个服务,它的带宽图如下所示 它代表什么? 我正在使用显示我这些图的tutum。 我应该担心吗? 请解释! 任何帮助表示赞赏。