草庐IT

memory-overcommitment

全部标签

memory - 我可以从 WinDbg 运行 .NET 垃圾收集吗?

我正在研究为什么托管进程使用大量内存。有没有办法从WinDbg运行GC.Collect(3),这样我就可以专注于实际的内存分配? 最佳答案 我认为没有任何方法可以从WinDbg运行.NET垃圾收集,但我也认为没有必要。见RicoMariani'sPerformanceTidbits-Trackingdownmanagedmemoryleaks(howtofindaGCleak)了解有关找出堆中的内容的信息。其他可能有用的链接:WhentocallGC.Collect()ScottDorman-.NETMemoryManagement

memory - 即使在清除所有回滚历史后,tmux 仍使用 1G RAM

我在ubuntu14.04上使用tmux(实际上是带有tmux后端的byobu)。我的tmux使用1GB内存(top中的VIRT和RES)并且我已经使用了clear-history命令。现在我的回滚消失了,但内存使用量并没有下降。这个tmux运行了很长时间,并且滚动了很多文本。top显示它总共使用了超过1小时的CPU时间。可能是什么原因?会不会有内存泄漏?我可以尝试什么?我无法重新启动它或做危险的事情,因为session运行的实验需要大约一周才能完成... 最佳答案 tmux中似乎存在一个错误,导致在清除历史记录时没有释放内存。此错

memory - 非托管内存和托管内存

un-managed和managedmemory到底是什么?谁能简单解释一下?此外,当托管内存概念被带到RAM时,这意味着什么,称为托管RAM。关于“托管RAM”和“非托管RAM”的一些细节是什么? 最佳答案 都是相同的物理内存。区别在于谁在控制它。Microsoft的定义是托管内存由垃圾收集器(GC)清理,即定期确定物理内存的哪些部分正在使用和哪些未使用的某个进程。非托管内存被其他东西清理,例如您的程序或操作系统。非托管内存这个词有点像第一次世界大战,直到第二次世界大战之后才被称为。以前它只是内存。

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++)代码在分配后