小编Zai*_*ali的帖子

linux交换空间永远不会释放内存

我正在使用 Linux 内核 2.6.38,并且我正在运行一个分配 4GB 内存的进程,并且我有 4GB 的可用内存,所以当我运行我的应用程序时,它从交换空间分配了大约 0.5GB。但是,我的应用程序运行了很长时间并多次访问交换空间上的数据。

(已编辑)为了澄清我在做什么:

  • 我正在运行带有 4 GB RAM 的 Linux 2.6.38。

  • 在不运行任何应用程序的情况下,系统占用大约 500MB 的 RAM。

  • 我创建了一个简单的应用程序,它分配 4GB 的内存并在分配的内存中查找并多次更改该内存的值(循环 10 次迭代)。

  • 很明显,我需要交换空间才能运行应用程序。

  • 当我运行我的应用程序时,交换空间不断累积并在几次迭代后变满,并且进程被终止。

  • 进程被杀死后,交换空间也保持满了。

  • 我在更新的内核上测试了我的应用程序,它运行良好,交换空间不会累积。

这是内核版本 (2.6.38) 上的错误吗?有解决办法吗?

linux swap out-of-memory linux-kernel

4
推荐指数
2
解决办法
4179
查看次数

标签 统计

linux ×1

linux-kernel ×1

out-of-memory ×1

swap ×1