fgvieira / ngsLD

Calculation of pairwise Linkage Disequilibrium (LD) under a probabilistic framework
GNU General Public License v2.0
45 stars 7 forks source link

'cannot allocate more memory!' error #26

Closed andrewSharo closed 2 years ago

andrewSharo commented 2 years ago

Hi Filipe,

Thanks for creating ngsLD! I have used ngsLD in the past successfully, but recently began using it for a larger dataset. My input line is:

/usr/local/src/ngsLD/ngsLD --geno ./full.beagle.forNgsld.gz --pos ./full.mafs.forNgsld.gz --probs --n_ind 95 --n_sites 19574912 --max_kb_dist 5 --n_threads 1 --out ./full_ngsld.ld

And ngsLD gives the following output and error message:

==> Input Arguments: geno: ./full.beagle.forNgsld.gz probs: true log_scale: false n_ind: 95 n_sites: 19574912 pos: ./full.mafs.forNgsld.gz (WITHOUT header) max_kb_dist (kb): 5 max_snp_dist: 0 min_maf: 0.001000 ignore_miss_data: false call_geno: false N_thresh: 0.000000 call_thresh: 0.000000 rnd_sample: 1.000000 seed: 1645655030 extend_out: false out: ./full_ngsld.ld (WITHOUT header) n_threads: 1 verbose: 1 version: 1.1.1 (Feb 19 2022 @ 13:20:08)

==> GZIP input file (not BINARY)

===== ERROR: [init_ptr] cannot allocate more memory!

Is there an easy way to calculate memory usage? I am using a machine with a ton of ram (512Gb). Can I increase the memory limit somehow? Should I try breaking my geno and pos files into separate chromosomes?

Thank you for any tips, Andrew

andrewSharo commented 2 years ago

I've realized that the error was on my end. Despite having a ton of ram, it was all being used by another process. But I thought it might be helpful to leave this issue, rather than delete it, in case someone else has the same problem. Check your /proc/meminfo file! I'll close this issue.