我有 2G RAM 和 4G 交换文件。我还对文件进行了加密存储。当我启动机器时,使用了 100-120M RAM,因此有足够的可用 RAM,并且不会使用交换(我猜?)。如果我解锁存储并随后大量使用 RAM,因此我需要交换文件,加密密钥是否可能会移至此处?我的意思是这是一个愚蠢的问题,但只是为了确定一下。没有冬眠,只有睡眠;没有特殊内存随机化等的库存内核。
答案1
这取决于加密和密钥存储的完成方式,但您应该假设答案是肯定的。写入交换空间的内容本质上是用户程序的数据空间。 Linux 内核中的任何内容都将保留在内存中(因为您已指定不休眠),因此一旦信息传递到内核并且用户空间程序已退出,则不会将任何键写入交换区。然而,像 FUSE 这样在用户空间中运行的东西可以有写入交换的密钥,如果你碰巧在实际内存不足的情况下压缩或解压缩某些东西,那么可以将其密钥写入交换,尽管这不太可能。