fragmentation相关内容

如何避免堆碎片?

我目前正在研究一个需要大量内存的医学图像处理项目.我可以做些什么来避免堆碎片并加快对已加载到内存中的图像数据的访问? 该应用程序使用 C++ 编写并在 Windows XP 上运行. 编辑: 应用程序对图像数据进行一些预处理,例如重新格式化、计算查找表、提取感兴趣的子图像……应用程序在处理过程中需要大约 2 GB RAM,其中大约 1.5 GB 可用于图像数据. 解决方案 如果 ..

.NET 内存碎片的原因

我正在使用 Red Gates ANTS 内存分析器来调试内存泄漏.它不断警告我: 内存碎片可能导致.NET 来保留过多的可用内存. 或 内存碎片影响可分配的最大对象的大小 因为我有强迫症,这个问题必须解决. 有哪些有助于避免内存碎片的标准编码实践.你能通过一些 .NET 方法对其进行碎片整理吗?它甚至会有所帮助吗? 解决方案 你知道,我有点怀疑这里的内存分析 ..
发布时间:2021-12-24 17:03:05 C#/.NET

如何在 tcpdump 中捕获 TCP/IP 碎片?

众所周知,MTU为1500,TCP的MSS为1460,所以当recv函数中使用的buf大于1460字节时,TCP会被拆分成很多部分. 我写了一个简单的 echo prog,想使用 tcpdump 来检查碎片.但是buf小的时候不显示碎片,buf在20K左右的时候显示. 代码如下: 服务器: 导入套接字导入系统导入操作系统地址 = ('10.0.0.2',10086)服务器 = ..
发布时间:2021-09-04 20:00:26 其他开发

在 Python 中计算内存碎片

我有一个长时间运行的进程,它不断地分配和释放对象.虽然对象正在被释放,但 RSS 内存使用量会随着时间的推移而上升. 如何计算发生了多少碎片?一种可能性是计算 RSS/sum_of_allocations 并将其作为指标.即便如此,我该怎么做才能计算分母(sum_of_allocations). 解决方案 查看垃圾收集器接口,gc. http://docs.python.org ..
发布时间:2021-06-02 19:35:36 Python

TCP消息合并

我有一个正在写入网络的Java应用程序.它正在764b +/- 5b范围内写入消息. pcap显示流正在IP碎片化,我们无法解释这一点. Linux 2.6.18-238.1.1.el5 一条轨迹显示: ( strace -vvvv -f -tt -o strace.out -e trace = network -p $ PID ) 1: 2045 12:48:23.98 ..
发布时间:2020-06-15 19:18:16 服务器开发

APC碎片

我的Wordpress网站上有APC 在此处查看我的APC摘要页面 http://www.animefushigi.com/apc.php 我注意到我有很多碎片(超过10,000个) 这是一件坏事吗?会降低性能吗? 解决方案 也许您的缓存条目过期太快,从而造成碎片. 您当前的统计数据显示:“碎片率:0.33%(在4594个碎片中的349.3 MB中,为1.2 ..
发布时间:2020-06-15 19:18:12 其他开发

在运行时检测C ++中堆碎片的可移植方法?

我正在编写一个基于qt的c ++应用程序,我需要能够检测内存碎片,以便检查当前系统是否真正能够承受内存负载:该程序加载了一张大图像(15/21兆像素规范)存储在内存中,然后对其进行一些过滤(带有稀疏矩阵). 例如,我在Windows中遇到内存碎片问题,VMMap在此方面非常有帮助:问题是某些DLL(Wacom平板电脑"wintab32.dll"和UltraMon应用程序)没有被重新定位,因此正在拆 ..
发布时间:2020-06-15 19:18:08 C/C++开发

C#:以相反的顺序分配资源是否有优势?

很多年前,我被告诫,只要有可能,就以与分配资源相反的顺序释放资源.那就是: block1 = malloc( ... ); block2 = malloc( ... ); ... do stuff ... free( block2 ); free( block1 ); 我想象在640K MS-DOS机器上,这可以使堆碎片最小化.在C#/.NET应用程序中执行此操作是否有任何实际优势, ..
发布时间:2020-06-15 19:18:04 C#/.NET

TCP/UDP和以太网MTU碎片

我已经在线阅读了各种站点和教程,但仍然感到困惑.如果消息大于IP MTU,则send()返回发送的字节.其余消息会怎样?我是否要再次呼叫send()并尝试发送其余消息?还是IP层应该自动处理? 解决方案 如果您使用的是TCP,那么提供给您的接口就是字节流.您无需担心字节流如何从连接的一端到达另一端.您可以忽略IP层的MTU.实际上,您可以完全忽略IP层. 当您调用send()时,计算 ..
发布时间:2020-06-15 19:18:02 其他开发

减少SQL Server表碎片而无需添加/删除聚簇索引?

我有一个大型数据库(90GB数据,70GB索引),过去一年来一直在缓慢增长,而且这种增长/变化不仅导致索引内部大量分散,而且导致表本身也大量碎片化./p> 解决(大量)非常分散的索引很容易-根据它们的碎片化程度,REORGANIZE或REBUILD会解决这个问题-但是我发现有关清除实际表碎片的唯一建议是添加表的聚集索引.我之后会立即删除它,因为我不想继续在表上使用聚簇索引,但是还有另一种方法可以 ..

“不分割"的好处在于:在TCP数据包?

我们的一位客户在从我们的应用程序(在他们的PC上)向服务器(不同的地理位置)提交数据时遇到了麻烦.当发送低于1100字节的数据包时,一切正常,但是在此之上,我们看到TCP每隔几秒钟重新传输一次数据包,并且没有任何响应.我们用于测试的数据包约为1400个字节(但小于1472个字节).我可以将1472字节的ICMP ping发送到www.google.com并获得响应(因此,这不是他们的路由器/前几跳 ..
发布时间:2020-05-23 20:11:15 其他开发

在C#中大型,快速和频繁的内存分配期间避免OutOfMemoryException

我们的应用程序不断为大量数据(例如数十到数百兆字节)分配数组,这些数据在被丢弃之前生存时间很短. 天真地完成此操作可能会导致大型对象堆碎片化,最终导致应用程序因OutOfMemoryException崩溃,尽管当前活动对象的大小并不过分. 过去,我们成功管理此问题的一种方法是对数组进行分块以确保它们不会出现在LOH上,其思想是通过允许内存由垃圾收集器压缩来避免碎片化. 我们最新的 ..
发布时间:2020-05-22 20:06:08 C#/.NET

IP分片和重组

我目前正在浏览网络幻灯片,并想知道是否有人可以帮助我解决碎片和重组的概念. 我了解它是如何工作的,即由于网络链接具有MTU,因此如何将数据报拆分为较小的块.但是,图片中的示例使我感到困惑. 因此,前两个部分的长度为1500,因为这是MSU,但这是否不意味着最后一个部分应具有1000(总共4000字节)而不是1040?这些额外的40个字节是从哪里来的?我的猜测是,因为前两个片段都具有20 ..

如何避免堆碎片化?

我目前正在从事医学图像处理项目,该项目需要大量内存.我能做些什么来避免堆碎片并加快对已经加载到内存中的图像数据的访问? 该应用程序是用C ++编写的,并且可以在Windows XP上运行. 编辑:该应用程序会对图像数据进行一些预处理,例如重新格式化,计算查找表,提取感兴趣的子图像...该应用程序在处理过程中需要大约2 GB RAM,其中约1.5 GB可用于图像数据. 解决方案 ..
发布时间:2020-05-08 21:26:25 其他开发

“内存不足";独立的matlab应用程序出现错误-内存碎片

我必须将应用程序作为独立Matlab可执行文件交付给客户端.该代码包括对内部创建多个单元格数组的函数的一系列调用. 我的问题是,随着用户负载的增加,对该函数的调用次数增加时,就会发生内存不足错误.我猜这是低级内存碎片,因为工作区变量与循环数无关. 如此处所述,退出并重新启动Matlab是解决此类内存不足错误的唯一解决方案,网址为那一刻. 我的问题是,如何在独立应用程序中实现这种机 ..
发布时间:2020-05-06 14:39:35 其他开发

为什么以及何时需要在MongoDB中重建索引?

已经和MongoDB合作了一段时间,今天我在与同事讨论时遇到了疑问。 当你在MongoDB中创建一个索引时,处理集合并构建索引。 索引在文档的插入和删除过程中更新,所以我真的不需要运行重建索引操作(删除索引然后重建它) 。 根据MongoDB文档: 通常,MongoDB在例行更新期间压缩索引。对于大多数 用户,不需要reIndex命令。但是,如果集合大小发生了显着变化,或 ..
发布时间:2018-08-02 13:52:52 其他开发