gpt4 book ai didi

c++ - Linux 中的交换内存速度

转载 作者:太空狗 更新时间:2023-10-29 23:47:09 25 4
gpt4 key购买 nike

我在 Linux 64 位 (Redhat Enterprise) 中有一个进程将一百万条记录登记到内存中,每条记录为 4KB,因此总内存消耗约为 4 GB。

我的电脑有 2GB RAM 和 3GB 交换内存。所以很明显,一部分数据会被放入交换内存中。问题是我不知道为什么遍历所有这些记录真的需要很长时间。我有一个循环遍历每条记录并做一些事情的函数。它适用于大约 500,000 条记录,该功能只需几分钟即可完成。然而,对于双倍数量的记录,即 1,000,000 条记录,执行相同的功能需要数小时。我在 Linux 中使用 top 命令检查 cpu 负载,看到它大约是 90%wa(等待 I/O 的时间)。我想这可能会导致问题,但真的不知道为什么会这样。

如果您有任何有用的想法,我将非常感谢。

最佳答案

交换区是磁盘。磁盘带宽比内存带宽低两个或三个数量级。

关于c++ - Linux 中的交换内存速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7009619/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com