草庐IT

memories

全部标签

memory - 关闭 D 垃圾收集器

我是一名C++程序员,正在考虑将D用于我想玩的个人项目。我想知道是否有办法完全禁用垃圾收集器,这样做有什么风险。我知道我可以通过覆盖new和delete以使用malloc和free来管理我自己的内存,但如果我这样做了,我宁愿垃圾收集器根本不运行。 最佳答案 在D2中关闭GC:importcore.memory;voidmain(string[]args){GC.disable;//Dostuff.}如果使用D1/Phobos:importstd.gc;voidmain(char[][]args){std.gc.disable;//D

memory - windows平台上是否有内存映射api,就像linux上的mmap()一样?

有没有做内存映射的api,就像mmap()在Linux上? 最佳答案 取决于你到底想用它做什么。如果要将现有文件映射到内存中,memory-mappedfiles支持。.它们还可以用于在进程之间共享内存(使用没有基础文件的命名映射对象)。如果你想映射物理内存,用户模式一般不支持,虽然有一些技巧。 关于memory-windows平台上是否有内存映射api,就像linux上的mmap()一样?,我们在StackOverflow上找到一个类似的问题: https:

memory - 如何确定 Keras 模型所需的内存?

我正在使用Keras2.0.0,我想在GPU上训练一个具有大量参数的深度模型。使用太大的图像,我的内存不足(OOM)。使用太低的图像,模型的准确性会比可能的差。因此,我想找到适合我的GPU的图像的最大可能输入大小。给定模型和输入数据,是否有任何计算内存的功能(例如,与model.summary()相当)?感谢您的帮助。 最佳答案 我根据FabrícioPereira的回答创建了一个完整的函数。defget_model_memory_usage(batch_size,model):importnumpyasnptry:fromkera

安卓 : Static Fields and Memory Leaks

我一直在研究在创建View时防止上下文/Activity内存泄漏的最佳实践,但对于类中的静态字段,我似乎无法找到明确的答案。假设我有一个这种形式的代码:publicclassMyOuterClassextendsActivity{privateMyInnerClass;MyInnerClass=(MyInnerClass)findViewById();MyInnerClass.myXInt=3;//onCreate(),onResume(),etc.publicstaticclassMyInnerClassextendsSurfaceViewimplementsRunnable{//S

memory - 使用 ansible 添加交换内存

我正在做一个项目,我的服务器上需要交换内存,以避免一些python长时间运行的进程耗尽内存,并且第一次意识到我的ubuntuvagrantbox和AWSubuntu实例没有已经设置好了。在https://github.com/ansible/ansible/issues/5241讨论了一个可能的内置解决方案,但从未实现,所以我猜这应该是一个非常常见的自动化任务。您将如何以幂等方式使用ansible设置基于文件的交换内存?ansible为这个设置提供了哪些模块或变量(如ansible_swaptotal_mb变量)? 最佳答案 这是我

memory - 尝试使用大型小型转储文件调试管理内存时出现内存错误

我正在尝试使用VisualStudio2015企业版“调试托管内存”。该文件为1.2GB,在加载后按“调试托管内存”后出现错误消息“由于内存不足,无法完成内存分析”我该怎么做才能仍然能够使用pdb文件查看内存?我可以用更多内存启动VisualStudio2015(计算机有25GB可用内存)我猜这与使用x86运行的VisualStudio有关。 最佳答案 可能与VisualStudio的bug有关查看以下链接https://connect.microsoft.com/VisualStudio/feedback/details/2621

memory - 当内核使用过度使用内存时,是否需要在分配内存后检查 NULL

通常的做法是在malloc()之后检查NULL(内存是否分配成功),例如void*ptr=malloc(10);if(ptr!=NULL){//dosomethingusefull}else{//nomemory.safelyreturn/throw...}在内核中启用内存过量使用后,是否有机会获得NULL?我应该遵循虔诚地检查每个分配的NULL的做法吗?尽管有积极的过度使用机制,malloc会返回NULL(我猜值为1)吗?事实上,Android内核使用内存过度使用(不确定值,很想知道它(过度使用值)及其意义)。Android(可能是第3方)中的一些框架源代码(C/C++)代码在分配后

php - 你如何调试 php "Out of Memory"问题?

我最近遇到了一些关于PHP内存限制的问题:Outofmemory(allocated22544384)(triedtoallocate232bytes)这些调试起来很麻烦,因为我没有太多关于导致问题的信息。添加关机功能有帮助register_shutdown_function('shutdown');然后,使用error_get_last();我可以获得有关最后一个错误的信息,在这种情况下,是“内存不足”fatalerror,例如行号和php文件名。这很好,但是我的php程序是面向对象的。堆栈深处的错误并不能告诉我太多有关错误发生时的控制结构或执行堆栈的信息。我试过debug_back

memory - 为什么我们需要虚拟内存?

所以我的理解是每个进程都有自己的虚拟内存空间,范围从0x0到0xFF....F。这些虚拟地址对应于物理内存(RAM)中的地址。为什么这种抽象级别有帮助?为什么不只使用直接地址?我理解为什么分页是有益的,而不是虚拟内存。 最佳答案 这样做的原因有很多:如果您有一个已编译的二进制文件,则每个函数在内存中都有一个固定地址,调用函数的汇编指令将该地址硬编码。如果虚拟内存不存在,两个程序就无法加载到内存中并同时运行,因为它们可能需要在同一个物理地址具有不同的功能。如果两个或多个程序同时运行(或在它们之间进行上下文切换)并使用直接地址,则一个程

memory - "a"堆和 "the"堆有什么关系?

堆是一种树数据结构,其中较高级别的树总是包含比较低级别更大(或更小,如果以这种方式设置)的值。“该”堆是程序可用于动态分配的一堆空闲RAM。它们都被称为“堆”,但一个与另一个有什么关系? 最佳答案 说实话,没什么。我想heap这个词只是简单地使用它的日常(非技术)用法,并作为相当好的类比分别应用于这两个概念。在第一种情况下(树数据结构的含义),描述heap是最合适的,因为“更大”的对象被放置在树中更高的位置(其中“更大”由任意键确定功能)-即在较大的物体之上有一种较小的物体堆积(或在顶部较大,取决于您的想法)。这就是我的解释;最先将