草庐IT

memory-efficient

全部标签

memory - 断电时如何防止 "partial write"数据损坏?

在嵌入式环境中(使用MSP430),我看到一些数据损坏是由于部分写入非volatile内存而导致的。这似乎是由于写入期间的功率损耗(写入FRAM或信息段)造成的。我正在使用CRC验证存储在这些位置的数据。我的问题是,防止这种“部分写入”损坏的正确方法是什么?目前,我已修改我的代码以写入两个单独的FRAM位置。因此,如果一个写入中断导致无效的CRC,则另一个位置应保持有效。这是一种常见的做法吗?我是否需要为任何非volatile内存实现这种双重写入行为? 最佳答案 一个简单的解决方案是维护两个版本的数据(在闪存的不同页面中),当前版本

memory - 如何处理可写位图? (WPF)

前段时间我发布了一个与WriteableBitmap内存泄漏相关的问题,虽然我收到了与该问题相关的精彩提示,但我仍然认为存在严重的错误/(我犯的错误)/(混淆)/(一些其他东西)在这里。所以,这又是我的问题:假设我们有一个带有图像和按钮的WPF应用程序。图像的源是一个非常大的位图(3600*4800像素),当它在运行时显示时,应用程序消耗约90MB。现在假设我希望从图像源(真正的大图像)实例化一个WriteableBitmap,当这种情况发生时,应用程序会消耗大约220MB。现在是棘手的部分,当对图像的修改(通过WriteableBitmap)结束,并且对WriteableBitmap

memory - 在 TensorFlow 中的 GPU 之间平均分配 RNN 内存消耗

我正在尝试找出最具战略意义的方法,以在两个GPU之间平均分配seq2seq网络的内存负载。使用卷积网络,任务要容易得多。但是,我试图弄清楚如何最大化2TitanX的内存使用率。目标是构建24GB内存组合所允许的最大网络。一个想法是将每个RNN层放置在单独的GPU中。GPU1-->RNNLayer1&BackwardPassGPU2-->RNNLayer2,3,4但是,反向传播计算需要大量内存。因此,另一个想法是在一个GPU上进行整个正向传递,在单独的GPU上进行反向传递。GPU1-->ForwardPassGPU2-->BackwardPass(不过,GPU2仍然占据了大部分内存负载)

memory - 非连续内存区域的 gnu 链接器部分

我正在尝试编写一个链接描述文件,将一个节的内容写入两个不连续的内存区域。我在这个邮件列表中找到了一个关于这个的旧线程:“ld链接描述文件和非连续内存区域”http://sourceware.org/ml/binutils/2012-01/msg00188.html我知道C28x编译器针对此问题的一项功能是将部分拆分为多个内存段:(使用or函数)SECTIONS{.text:{*(.text)}>>FLASH1|FLASH3}在这里描述:http://processors.wiki.ti.com/index.php/C28x_Compiler_-_Understanding_Linkin

memory - node.js 进程内存不足错误

FATALERROR:CALL_AND_RETRY_2AllocationFailed-processoutofmemory我看到了这个错误,但不太确定它来自哪里。我正在从事的项目具有以下基本工作流程:从其他来源接收XML帖子使用xml2js解析XML从新创建的JSON对象中提取所需信息并创建一个新对象。将该对象发送到连接的客户端(使用socket.io)使用的Node模块有:xml2jssocket.io编舞mysql当我收到一个XML数据包时,我要做的第一件事就是将其写入log.txt文件,以备日后需要查看某些内容。我先fs.readFile获取当前内容,然后写入新内容+旧内容。上

memory - iPad 收到内存使用不足的内存警告

我有一个带有HTML的UIWebKit,这个HTML有几个图像和文本,但只是显示它会给我内存警告。所以我做了一些测试:相同的HTML有不同的图像,全尺寸,以及相同的图像,但比原始尺寸缩小了50%,对于缩小50%的图像,我去预览并将所有图像缩小50%令人惊讶的部分是50%测试,你可以看到即使有16张图像,内存峰值也是4.90MB。这真的很令人惊讶。请注意,这些值并不总是相同,它们会发生变化,但测试之间并没有太大差异。在50%问题中,在8和16图像中,虽然内存不足,有时会出现内存警告,但与全尺寸图像相比,性能提升明显静止不动=滚动所有文章后的内存1图片=[静止5MB][旋转5.6MB]2张

memory - 监控目录的变化 - 潜在的高内存

我目前正在使用nodeJS中的脚本来监视目录(及其子目录),并在将文件放置在那里后执行一些功能。实际上,这将是一个FTP,用户在其中上传文件,对其进行处理,然后删除。显然,我已经看到脚本的CPU使用率很高,因为它遍历目录,等待文件可见。但让我担心的是,脚本运行的时间越长,内存使用量就越高(它只是呈指数增长)。是否有一些轻量级的方法来监视目录的更改?谢谢!编辑:我目前正在使用watch-tree这很好,但仍然存在内存增加的问题。 最佳答案 听起来你想要一个FAM或inotify的包装器。也许像node-inotify-plusplus

memory - 这是 Spark 流的错误还是内存泄漏?

我将代码提交到spark独立集群。提交命令如下:nohup./bin/spark-submit\--masterspark://ES01:7077\--executor-memory4G\--num-executors1\--total-executor-cores1\--conf"spark.storage.memoryFraction=0.2"\./myCode.py1>a.log2>b.log&我在上面的命令中指定执行器使用4G内存。但是使用top命令监控executor进程,我注意到内存使用量一直在增长。现在顶部的命令输出如下:PIDUSERPRNIVIRTRESSHRS%CP

javascript - 实现撤消功能 : how to measure memory consumption of JavaScript array?

我们需要为Web编辑器实现撤消功能,并希望测试撤消历史可以合理地走多远。撤消数据模型是一个包含1+个jQuery对象的JavaScript数组,每个对象可以包含多个Base64图像。如何测量JavaScript对象的内存使用情况?是否可以从Chrome监控内存使用情况? 最佳答案 Chrome有一个很好的工具。它基于RAIL模型,可让您快速检测泄漏甚至膨胀。只需转到chrome的任务管理器(shift+esc)并启用Javascript内存。这个工具救了我的命,祝你好运! 关于javas

python - tensorflow : Ran out of memory trying to allocate

我正在运行TensorFlow版本0.7.1,支持64位GPU,使用pip安装,并且在装有Ubuntu14.04的PC上运行。我的问题是在构建网络时TensorFlow内存不足,即使根据我的计算,我的GPU上应该有足够的空间。下面是我的代码的最小示例,它基于TensorFlowMNIST教程。该网络是一个两层全连接网络,隐藏层的节点数由变量n定义。训练小批量的大小为1。这是我的代码:n=23000mnist=read_data_sets('MINST_Data',one_hot=True)session=tf.InteractiveSession()x=tf.placeholder(t