【摘 要】
:
当Java应用中依然保持着已经不会再使用的对象引用时,便会发生内存泄漏。因为无法肯定地判断一个对象是否不会再被用到,同时Java应用中对象之间的引用关系复杂,使得难以准确
论文部分内容阅读
当Java应用中依然保持着已经不会再使用的对象引用时,便会发生内存泄漏。因为无法肯定地判断一个对象是否不会再被用到,同时Java应用中对象之间的引用关系复杂,使得难以准确定位导致内存泄漏的对象。本文基于针对集合类对象的内存泄漏检测方案实现了Cloud Foundry云平台中Java应用内存泄漏的检测,通过监控集合类对象的内存消耗和集合内元素的使用情况,得出对象内存泄漏的可能性大小,量化对象内存泄漏的风险。检测系统首先收集垃圾回收事件后的应用内存数据,确定进行内存泄漏分析的时间区间。然后通过收集每次垃圾回收事件后对象之间的引用关系和对象内存大小,计算得到集合类对象的内存影响值。接着通过修改字节码的方式获取到集合类对象使用集合内元素的数据,计算出相应的元素使用影响值。最后根据内存影响值和元素使用影响值计算出集合对象的可信值,并提供对象的初始化位置信息用于定位可疑对象。本文主要使用Java Instrument, ASM, JVM Interface Tools等技术实现了内存泄漏检测系统,该系统根据功能划分为Java Agent、Native Agent和可信值计算三个模块,Java Agent主要用于收集集合内元素使用数据,Native Agent主要用于收集内存使用数据。我们将该内存检测系统部署在Cloud Foundry上,作为云平台中应用性能管理工具的一部分,为云平台用户提供Java应用内存泄漏检测功能,帮助开发者定位和解决内存泄漏问题。此外,本文还对该系统进行了可用性测试和运行时系统负载测试。
其他文献
随着社会的进步和科学的发展,信息数据量呈爆炸性增长,特别是基因序列这样的数据,其增长速度已经超出了人们的想象,给数据存储和传输造成了很大的压力,各种压缩技术被提出来
随着网络的发展,网络安全问题也日益突出。网络蠕虫肆虐,正给网络用户造成了巨大的损失。而蠕虫传播模型的研究对于揭示蠕虫的传播特性和规律,并提出行之有效的控制方法,有重
随着科学技术的迅猛发展,视觉系统以其信息量大等优点成为了一种重要的导航方式,在机器人视觉、视频监控、导航、飞行器等方面已经得到了广泛的研究和应用。目前,利用机载摄
近年来,随着无线互联网技术和移动通信技术的发展,用户对于移动性通信的需求越来越高。目前全球范围内存在着多种无线接入网络,用户可以随时随地接入合适的无线网络中进行通
随着互联网技术的发展,不同文化间的交流呈现迅速上升的趋势。作为自然语言处理领域最具挑战性课题之一的机器翻译受到越来越多的研究机构的重视。本文在东北大学与日本富士
Web信息数量过多、增长过快,使得搜索引擎成为人们在Web上查找和获取信息的主要方式。Web上的信息分布存储、规模巨大,且有大量不稳定数据,加之网络的不稳定性,导致搜索引擎
随着数字化技术和网络多媒体的发展,数字视频的拷贝、传播和发布变得容易。为了适应不同的应用需求,视频经常会被编辑成多种格式的拷贝。这使数字视频的管理问题日益突现出来
随着时代的发展和潮流的进步,人们越来越多的使用譬如手机等移动设备来拍照和拍摄视频。然而移动设备由于受到硬件条件的限制,拍摄的作品往往无法和单反相机相媲美,拍摄出背
电信计费模型是为了解决业务支撑系统核心部分计费系统存在的问题而设计的。利用网络的概念来勾画业务支撑系统的框架,包含一系列的模型:数据模型、接口与协议模型、流程和功
在无线传感器网络中对多媒体数据的应用需求产生了无线多媒体传感器网络(Wireless Multimedia Sensor Network, WMSN)。以传输图像为主的无线多媒体传感器网络存在两个问题:图