gpt4 book ai didi

python - 为什么运行 SQLite(通过 python)会导致内存填满 "unofficially"?

转载 作者:行者123 更新时间:2023-12-03 17:55:23 26 4
gpt4 key购买 nike

我正在使用 SQLite 处理一些大型(数千万条记录,大约 10gb)数据库文件。我正在使用这个 python 的标准接口(interface)。

当我尝试将数百万条记录插入数据库或在某些列上创建索引时,我的计算机会慢慢耗尽内存。如果我查看正常的系统监视器,看起来大部分系统内存都是空闲的。但是,当我使用 top 时,看起来我几乎没有可用的系统内存。如果我按进程的内存消耗对进程进行排序,那么它们中的任何一个都不会使用超过我内存的百分之几(包括运行 sqlite 的 python 进程)。

所有的内存都去哪儿了?为什么 top 和 Ubuntu 的系统监视器对我有多少系统内存存在分歧?为什么 top 告诉我我的可用内存很少,同时不显示哪个进程正在使用所有内存?

我正在运行 Ubuntu 11.04、sqlite3、python 2.7。

最佳答案

10 比 1 表示你对 linux 的文件系统缓冲区/缓存感到困惑


  • ofstream leaking memory
  • https://superuser.com/questions/295900/linux-sort-all-data-in-memory/295902#295902

  • 通过做测试它(以root身份)
    echo 3 > /proc/sys/vm/drop_caches

    关于python - 为什么运行 SQLite(通过 python)会导致内存填满 "unofficially"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6491856/

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