我正在使用R编程语言在Linux服务器上处理大型图像,因此我预计在图像处理和文件写入过程中会使用大量RAM。
然而,服务器在似乎不需要之前就开始使用交换内存,从而显著降低了处理时间。请参见以下图片:
这表明我大约使用了50%的RAM进行图像处理,约有50%似乎是为磁盘缓存(黄色)保留的,但仍然使用了10GB的swap!
当我观察交换空间被占用时,它并没有在RAM的使用率高于此图像所示时发生。交换出现问题似乎是在将处理后的数据写入GeoTiff文件时发生。
我的工作理论是,磁盘写入过程正在使用大量磁盘缓存区域(黄色区域),因此黄色实际上对服务器不可用(通常认为是磁盘缓存RAM)?
这听起来合理吗?还有其他原因导致RAM可用而使用交换空间吗?