Tag: 内存

什么是“caching友好”的代码?

有人可能举一个“caching不友好的代码”和“caching友好”的代码版本的例子? 我怎样才能确保我编写caching高效的代码?

我如何显式释放Python中的内存?

我写了一个Python程序,在一个大的input文件上作用来创build几百万个代表三angular形的对象。 该algorithm是: 读取input文件 处理文件并创build一个三angular形列表,由它们的顶点表示 以OFF格式输出顶点:顶点列表,后跟一列三angular形。 三angular形由顶点列表中的索引表示 在打印出三angular形之前打印出完整的顶点列表的OFF的要求意味着在将输出写入文件之前,我必须在内存中保存三angular形的列表。 与此同时,由于列表的大小,我得到内存错误。 告诉Python我不再需要某些数据,并且它可以被释放的最好方法是什么?

Java中一个对象的内存消耗是多less?

100个属性与100个对象相同的一个对象所占用的内存空间是多less? 多less内存分配给一个对象? 添加属性时使用了多less额外空间?

我如何确定在Python中的对象的大小?

在C中,我们可以findint , char等的大小。我想知道如何在Python中获取像string,整数等对象的大小。 相关的问题: Python列表(元组)中每个元素有多less个字节? 我正在使用包含指定值大小的大小字段的XML文件。 我必须parsing这个XML并做我的编码。 当我想要改变特定字段的值时,我将检查该值的大小字段。 这里我想比较一下,我input的新值是否与XML中的大小相同。 我需要检查新值的大小。 在string的情况下,我可以说它的长度。 但在int,float等情况下,我很困惑。

声明大型数组时发生堆栈溢出exception

以下代码为我生成堆栈溢出错误 int main(int argc, char* argv[]) { int sieve[2000000]; return 0; } 我如何解决这个问题? 我正在使用Turbo C ++,但想保持我的代码在C中 编辑: 感谢您的build议。 上面的代码只是例如,我实际上声明在一个函数中的数组,而不是在主要的。 此外,我需要将数组初始化为零,所以当我使用malloc的时候,我发现calloc对我来说是完美的。 malloc / calloc也有优势,而不是在堆栈上分配,允许我使用variables声明大小。

获取操作系统级别的系统信息

我目前正在构build一个Java应用程序,最终可能会在许多不同的平台上运行,但主要是Solaris,Linux和Windows的变体。 有没有人能够成功地提取信息,如当前使用的磁盘空间,CPU利用率和底层操作系统中使用的内存? 那么Java应用程序本身在消费什么呢? 最好我不想使用JNI来获取这些信息。

致命错误:允许134217728字节的内存大小用尽(CodeIgniter + XML-RPC)

我有一大堆客户销售点(POS)系统,它们定期将新的销售数据发送到一个集中的数据库,这个数据库将数据存储到一个大的数据库中生成报告。 客户端POS基于PHPPOS,并且我已经实现了一个使用标准XML-RPC库来将销售数据发送到服务的模块。 服务器系统build立在CodeIgniter之上,并为Web服务组件使用XML-RPC和XML-RPCS库。 每当我发送大量的销售数据(从销售表中只有50行,销售中的每个项目有关的sales_items中的单个行),我得到以下错误: Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 54 bytes) 128M是在php.ini的默认值,但我认为这是一个巨大的数字打破。 事实上,我甚至试图将这个值设置为1024M,而且所做的只是花费较长的时间才能出错。 至于我采取的步骤,我已经尝试禁用服务器端的所有处理,并已经操纵它返回一个jar头响应,无论input。 但是,我认为问题在于数据的实际发送。 我甚至尝试禁用PHP的最大脚本执行时间,它仍然错误。

访问数组越界有多危险?

访问数组之外​​的数组有多危险? 有时候可能会发生,我从数组外读取(我现在明白,然后访问我的程序的一些其他部分使用的内存,甚至超出),或者我试图设置一个值的数组以外的索引。 该程序有时会崩溃,但有时只是运行,只会给出意想不到的结果。 现在我想知道的是,这真的有多危险? 如果它损害了我的程序,那还不错。 另一方面,如果它破坏了我的程序之外的某些东西,因为我设法访问了一些完全不相关的内存,那么我想它是非常糟糕的。 我读了很多“什么都可能发生”, “细分可能是最不好的问题” ,“你的硬盘可能会变成粉红色,独angular兽可能会在你的窗下唱歌”,这是很好的,但真正的危险是什么? 我的问题: 从arrays外读取值可以损害除我的程序之外的任何东西吗? 我会想象只是看着事情不会改变什么,或者它会例如改变我碰巧到达的文件的“上次打开”属性? 除了我的程序之外,是否可以将数值设置在数组之外? 从这个stackoverflow问题我收集,有可能访问任何内存位置,没有安全保证。 我现在从XCode中运行我的小程序。 这是否为我的程序提供了额外的保护,使其无法到达自己的内存之外? 它会伤害XCode吗? 任何关于如何安全地运行我自己的错误代码的build议? 我使用OSX 10.7,Xcode 4.6 这是我的第一个Stackoverflow问题。 我花了很多时间阅读这个主题,但是我可能错过了很多资源。 如果你觉得我没有做足够的研究和/或你看到这个问题的其他问题,请告诉我。

java.lang.OutOfMemoryError:位图大小超过VM预算 – Android

我开发了一个在Android上使用大量图像的应用程序。 该应用程序运行一次,填充屏幕上的信息( Layouts , Listviews , Textviews , ImageViews等),用户读取信息。 没有animation,没有特殊效果或任何可以填满记忆的东西。 有时绘图可以改变。 有些是Android资源,有些是保存在SDCARD文件夹中的文件。 然后用户退出(执行onDestroy方法,应用程序停留在内存中),然后在某个时刻用户再次进入。 每次用户进入应用程序,我都可以看到内存越来越多,直到用户得到java.lang.OutOfMemoryError 。 那么处理许多图像的最佳/正确的方法是什么? 我应该把它们放在静态方法,所以他们不是所有的时间加载? 我是否必须以特殊的方式清理版面中使用的布局或图像?

如何确定一个进程内部的CPU和内存消耗?

我曾经从运行的应用程序中确定以下性能参数: 可用虚拟内存总量 当前使用的虚拟内存 我的进程当前使用的虚拟内存 可用RAM总量 目前使用的RAM 目前我的进程使用的RAM 当前使用的CPU百分比 当前由我的进程使用的CPU 代码必须在Windows和Linux上运行。 尽pipe这似乎是一个标准任务,但在手册(WIN32 API,GNU文档)以及Internet上find必要的信息花了我好几天,因为关于这个主题的信息太多不完整/不正确/过时在那里发现。 为了避免别人经历同样的麻烦,我认为把所有分散的信息加上我在这里试验和发现的错误都集中在一个地方是个好主意。