windows - 如何让程序使用虚拟内存?

标签 windows perl virtual-memory

如何让程序在 Windows 中使用虚拟内存

我有一个很长的 perl 脚本,它正在使用 6GB+ 内存并且还在增加。我的机器只有 8GB 或 RAM。这可能是模块内存泄漏引起的,但我现在无能为力。

是否可以让它使用虚拟内存,或者这是否仅由 Windows 控制?

最佳答案

操作系统将根据需要自动提供虚拟内存,如果它被配置为具有交换空间。您无法通过 Perl 程序控制它。

如果您的 Perl 程序最终发生内存泄漏,它将开始被交换到页面文件。当它的内存消耗导致总内存超过物理 RAM 加上页面文件的总和时,事情会变得缓慢,进程可能会变得无响应和/或崩溃。

无论如何,页面文件的大小不能动态改变,需要重启。唯一的长期解决办法是找到并修复漏洞。

关于windows - 如何让程序使用虚拟内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37826394/

相关文章:

非控制台应用程序项目中的 C++ 控制台

mysql - 如何在 Perl 中从 MySQL 获取最后一个错误

java - Linux下Java的虚拟内存使用,使用了太多内存

memory-management - 如何用高级语言编写操作系统?

perl - 我应该在 perl 模块中使用 "use 5.12.0; use warnings;"吗?

c++ - 当我使用 VirtualAlloc() 和 MEM_RESERVE 保留内存时,我不应该能够在 64K 边界上增加我的分配吗?

windows - Extended-Length Paths 使用安全吗?

windows - 这个字符串的含义\\.\c :

java - 为什么 java 多播接收器无法在 Windows XP 上接收数据包?

perl - 在 Perl 的 Test::More 中声明后如何使用参数 `tests`?