Skip to content

内存占用非常低时,却抛出 std::bad_alloc 异常 #18

@altairwei

Description

@altairwei

描述:

在使用 basevar 工具时,观察到系统内存占用非常低 (30G / 756G) 左右,但程序偶尔会抛出 std::bad_alloc 异常,提示内存分配失败。实际上在我同时并发的十几个 basevar 任务中,大部分都能跑完,但始终会有一两个出现内存分配错误。

以下是详细信息和复现步骤:

复现步骤

  1. 运行以下命令:
./bin/basevar basetype -t 20 -L output/calls/all.bam.list \
    --filename-has-samplename -R data/reference/Homo_sapiens_assembly38.fasta \
    -r chr9:1-5000000 --min-af=0.001 \
    --output-vcf output/calls/chr9_1_5000000.vcf.gz \
    --output-cvg output/calls/chr9_1_5000000.cvg.tsv.gz \
    > log/20250114_075951/chr9_1_5000000.log
  1. 程序运行一段时间后,抛出以下错误:
terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc
/usr/bin/bash: line 1: 154874 Aborted                 ./bin/basevar basetype -t 20 -L output/calls/all.bam.list --filename-has-samplename -R data/reference/Homo_sapiens_assembly38.fasta -r chr9:1-5000000 --min-af=0.001 --output-vcf output/calls/chr9_1_5000000.vcf.gz --output-cvg output/calls/chr9_1_5000000.cvg.tsv.gz > log/20250114_075951/chr9_1_5000000.log

预期行为

程序应正常运行,完成数据处理任务,而不会因内存分配失败而崩溃。

实际行为

程序偶尔会抛出 std::bad_alloc 异常,尽管系统内存占用非常低。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions