FASTP / tasks have been OOM Killed

Bonjour,
je suis un peu perdue sur le paramétrage des Go de Mem
Donc maintenant je suis sur une réponse systématique qui me tue mon job par manque de mémoire.
J'ai limité mon pipeline à 1 individus pour que ce soit moins lourd.
J ai ma premiere etape Fastp qui se lance (nettoyage qualité et enlever les adaptateurs), mais systématiquement ca finit en :

slurmstepd-cpu-node-22: error: Detected 1 oom_kill event in StepId=44645169.batch. Some of the step tasks have been OOM Killed.

Les 2 fichiers (des deux sens de lectures) font environ 50Go. Est ce excessifs ? Je crois qu'il y a une solution de les couper d'abord mais je crois surtout que je paramètre mal la mémoire.

J'ai pourtant augmenter la mémoire demandé dans le script bash
#!/bin/bash
#SBATCH --partition=long
#SBATCH -N 1 # nombre de nœuds
#SBATCH -n 1 # nombre de cœurs
#SBATCH --mem 100GB # mémoire vive pour l'ensemble des cœurs
#SBATCH --time=6-05:00:00
#SBATCH -o slurm.%N.%j.out # STDOUT
#SBATCH -e slurm.%N.%j.err # STDERR
#SBATCH --account=microsporidia

Quand je fais :

sacct --format=JobID,JobName,User,Submit,ReqCPUS,ReqMem,Start,NodeList,State,CPUTime,MaxVMSize%15 -j 44645868
JobID JobName User Submit ReqCPUS ReqMem Start NodeList State CPUTime MaxVMSize


44645868 run_snake+ mferrand 2025-02-27T14:54:07 1 2000M 2025-02-27T14:54:08 cpu-node-16 RUNNING 00:04:57
44645868.ba+ batch 2025-02-27T14:54:08 1 2025-02-27T14:54:08 cpu-node-16 RUNNING 00:04:57

le ReqMem = 2000M ca veut pas dire qu'il me donne que 2GB ?

Auquel cas normal que ca coupe.
pourquoi il prend pas en compte le #SBATCH --mem 100GB ?

Bonjour Marina,

le ReqMem = 2000M ca veut pas dire qu'il me donne que 2GB ?

ReqMem, ce n'est pas la mémoire alloué (enfin au final si) mais surtout la mémoire demandée ("Minimum required memory for the job").

Il se trouve que 2G (2000M), est la mémoire par défaut d'un job quand la mémoire n'est pas spécifié.

pourquoi il prend pas en compte le #SBATCH --mem 100GB ?

A cause des espaces avant le #SBATCH ...
Ca c'est bon:

#!/bin/bash
#SBATCH --partition=long
#SBATCH -N 1 # nombre de nœuds
#SBATCH -n 1 # nombre de cœurs
#SBATCH --mem 100GB # mémoire vive pour l'ensemble des cœurs

Ca c'est pas bon:

#!/bin/bash
    #SBATCH --partition=long
    #SBATCH -N 1 # nombre de nœuds
    #SBATCH -n 1 # nombre de cœurs
    #SBATCH --mem 100GB # mémoire vive pour l'ensemble des cœurs

C'est très important que la directive #SBATCH soit au début du fichier et en début de ligne :slight_smile:

ahh oué super cool
merci !