我正在使用 Linux 内核 2.6.38,并且我正在运行一个分配 4GB 内存的进程,并且我有 4GB 的可用内存,所以当我运行我的应用程序时,它从交换空间分配了大约 0.5GB。但是,我的应用程序运行了很长时间并多次访问交换空间上的数据。
(已编辑)为了澄清我在做什么:
我正在运行带有 4 GB RAM 的 Linux 2.6.38。
在不运行任何应用程序的情况下,系统占用大约 500MB 的 RAM。
我创建了一个简单的应用程序,它分配 4GB 的内存并在分配的内存中查找并多次更改该内存的值(循环 10 次迭代)。
很明显,我需要交换空间才能运行应用程序。
当我运行我的应用程序时,交换空间不断累积并在几次迭代后变满,并且进程被终止。
进程被杀死后,交换空间也保持满了。
我在更新的内核上测试了我的应用程序,它运行良好,交换空间不会累积。
这是内核版本 (2.6.38) 上的错误吗?有解决办法吗?