我有一个大小约为 16GB 的 Windows Server 2008 R2(最新)数据库。
我们从 Postgres v9.2.4 升级到了 Postgres v9.3.4,现在 Postgres v9.3.4 的内存使用量不断增长,直到占用了所有 Windows 物理内存。在 Windows 启动时,物理内存使用量约为 13%。在 48 小时内,内存使用量将增加到 70%,并且大部分内存由 postgres 使用。
但在 Postgres v9.2.4 上一切都很好,内存使用情况合理。但我不明白 Postgres v9.3.4 出了什么问题。
为了保持我的应用程序运行,我必须每 48 小时重启一次服务器。
有人遇到过同样的问题并找到了解决方案吗?如果有人能帮助我,我将不胜感激。
答案1
这个问题已经解决了。它与机器上安装的几个驱动程序有关;PostgreSQL 与此无关。
要准备有关此问题的更多信息:关联。
这是由安装的驱动程序文件aksdf.sys
引起的(尽管我们从未使用过它)。hardlock.sys
Advantage Database Server v7.1
我们最初怀疑的是 PostgreSQL,因为这是该服务器上唯一正在使用的程序。因此,对于每个 PostgreSQL 连接,我们都有一个僵尸进程消耗 20Kb 的物理内存。因此,这种情况一直持续到整个物理内存都被消耗殆尽,之后我们不得不重新启动机器才能使其正常工作。
我们使用以下工具来追踪此问题:
- RAMMAP(最有帮助)
- 进程探索器
- TCP查看器