暗能星系

    • 登录
    • 搜索

    classify: unable to mmap database.kdb: Cannot allocate memory

    问题记录及解决
    1
    1
    14
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • I
      ice-melt 最后由 编辑

      Cannot allocate memory

      问题: classify: unable to mmap database.kdb: Cannot allocate memory

      • 参考

      可能的原因

      • 进程数:
        • [最大线程数]sysctl kernel.pid_max
        • [当前线程数]ps -eLf | wc -l
      • 修改交换内存
        • [查看]sudo swapon -s
        • [禁用交换文件]sudo swapoff /swapfile
        • [增加内存]sudo dd if=/dev/zero of=/swapfile bs=1M count=1024 oflag=append conv=notrunc
        • [设置交换文件]sudo mkswap /swapfile
        • [启用交换文件]sudo swapon /swapfile
      • 内存分配策略 overcommit_memory
        • 可能取值
          • 0 默认,内核执行启发式内存过量使用处理,方法是估算可用内存量,并拒绝明显无效的请求。
          • 1 内核执行无内存过量使用处理。使用这个设置会增大内存超载的可能性,但也可以增强大量使用内存任务的性能。
          • 2 内存拒绝等于或者大于总可用 swap 大小以及overcommit_ratio指定的物理RAM比例的内存请求。
        • [查看目前内存申请和可用情况]cat /proc/meminfo | grep Commit
          • #CommitLimit 表示系统可申请的总内存
          • #Committed_AS 为当前已经申请的内存
        • echo 1 > /proc/sys/vm/overcommit_memory,然后sysctl -p永久生效
      1 条回复 最后回复 回复 引用 0
      • First post
        Last post
      Powered by 暗能星系