常见问题

当前位置: 首页 > 使用指南 > 常见问题

1. 常用命令无法使用

用户编辑~/.bashrc时,PATH环境变量相关的部分编写错误,会导致出现下面这种常用命令无法使用的情况。

  1      $ cat test.txt

   2      bash: cat: command not found...

解决方法:使用vim的绝对路径来编辑~/.bashrc,将写错的部分改正,重新开个登录窗口即可。

$ /bin/vim ~/.bashrc


2. module av显示的软件很少

使用系统module之前,需要先设置相关环境变量,否则会出现module av显示的软件很少,或module load无法载入某个软件的情况。module环境配置见 Module使用


3. 节点/tmp空间不够

部分节点可能会因为作业在/tmp目录下写入的文件过多,导致系统盘耗尽,进而导致作业无法往/tmp目录内写入临时文件,出现类似如下的报错。

cannot create temp file for here-document: No space left on device

使用lsload命令查看该节点的资源信息,可看到tmp剩余空间为0,请联系管理员,清理/tmp目录。

   1      $ lsload c01n01

   2      HOST_NAME status r15s r1m r15m ut pg ls it tmp swp mem

   3      c01n01 ok 8.0 7.8 7.9 22% 0.0 0 4226 0 3.7G 241G

可以有以下两种方式重新投递作业:

处理方式1:

作业本身不往/tmp目录下写入很多数据,是其它作业把/tmp目录写满了。可以使用lsf相关选项,重新投递出错的作业到其它/tmp目录有空闲的节点。

-R "select[tmp>10G]"

处理方式2:

作业本身需要往/tmp内写入大量的数据,建议使用TMP 环境变量重新设置临时目录到本地。有多个类似作业时,建议每个作业一个目录,避免文件重名程序出错。bs_seeker repex_tarean paragraph等都会往/tmp目录下写入大量的数据,使用时注意设置TMP环境变量。

   1      #BSUB -J program

   2      #BSUB -n 10

   3      #BSUB -R span[hosts=1]

   4      #BSUB -o %J.out

   5      #BSUB -e %J.err

   6      #BSUB -q normal

   7      tmpn=`mktemp -u programname_XXXXX`

   8      tmpd="${HOME}/tmp/${tmpn}"

   9      mkdir -p ${tmpd}

  10     echo ${tmpd}

  11     export TMP=${tmpd}

  12     # 运行程序

  13     program...

  14     # 清理临时文件

  15     rm -r ${tmpd}


4. 存储超过配额

写入数据或程序运行时出现 Disk quota exceeded的报错,说明存储空间或文件数超过配额。diskquota 查看存储使用情况,清理账号下的数据至配额之下方可正常写入数据。建议对所有数据扫描一遍,压缩删除不必要的数据,参考 文件扫描。如果需要增加存储配额,可按这个步骤处理申请增加配额。

   1      $ diskquota

   2      Filesystem type blocks quota limit in_doubt grace | files quota limit in_doubt grace Remarks

   3      public USR 43.74T 20T 20T 0 7 days | 9890452 17500000 17500000 0 none

   4      $ cp data/NT/taxdb.btd.gz .

   5      cp: error writing ‘./taxdb.btd.gz’: Disk quota exceeded

   6      cp: failed to extend ‘./taxdb.btd.gz’: Disk quota exceeded


5. github 下载缓慢

校园网下载github上的软件不稳定,经常会出现下载缓慢或无法链接的情况,可以使用github镜像,参考 github


6. 登录节点使用conda安装软件等待时间过长

conda安装软件过程中,会运行python程序,如果此时间过长,会被监控程序判定为在登录节点跑作业进而将相关python程序杀掉,导致conda安装过程一直处于等待状态,建议进入交互节点后再使用conda安装程序。R包安装过程也有类似问题,建议在交互节点安装R包。

此外conda安装软件时,刚开始的resolving时间可能会很长,建议使用mamba替代conda,见 mamba使用。


7. 新版conda命令行提示符异常

conda升级到22.9.0之后,激活conda环境出现如下的命令行提示符显示异常

   1      (base)

   2      (base)

解决办法

   conda init bash

重新登录账号,即可恢复正常

   (base) [username@login01 ~]$


8. 'GLIBC_x.xx' not found

软件运行时出现类似version 'GLIBC_2.29' not found 的报错,一般是系统上glibc版本比较低导致的,解决方法见集群文档 glibc。


9. 'GLIBCXX_x.x.x' not found

部分应用程序使用高版本GCC编译,直接在集群上运行时,由于集群默认GCC版本较低(gcc 4.8.5),会出现类似如下的'GLIBCXX_x.x.x' not found报错。

   1      $ ./program

   2      program: /lib64/libstdc++.so.6: version 'GLIBCXX_3.4.20' not found(required by program)

此时可以加载对应高版本的GCC,然后再运行程序,如module load GCC/5.4.0-2.26

常用GCC版本与GLIBCXX的对应版本如下所示,完整列表见:ABI Policy and Guidelines

   1      GCC 4.8.0: GLIBCXX_3.4.18, CXXABI_1.3.7

   2      GCC 4.8.3: GLIBCXX_3.4.19, CXXABI_1.3.7

   3      GCC 4.9.0: GLIBCXX_3.4.20, CXXABI_1.3.8

   4      GCC 5.1.0: GLIBCXX_3.4.21, CXXABI_1.3.9

   5      GCC 6.1.0: GLIBCXX_3.4.22, CXXABI_1.3.10

   6      GCC 7.1.0: GLIBCXX_3.4.23, CXXABI_1.3.11

   7      GCC 7.2.0: GLIBCXX_3.4.24, CXXABI_1.3.11

   8      GCC 8.1.0: GLIBCXX_3.4.25, CXXABI_1.3.11

   9      GCC 9.1.0: GLIBCXX_3.4.26, CXXABI_1.3.12

  10     GCC 9.2.0: GLIBCXX_3.4.27, CXXABI_1.3.12

  11     GCC 9.3.0: GLIBCXX_3.4.28, CXXABI_1.3.12

  12     GCC 10.1.0: GLIBCXX_3.4.28, CXXABI_1.3.12

  13     GCC 11.1.0: GLIBCXX_3.4.29, CXXABI_1.3.13

  14     GCC 12.1.0: GLIBCXX_3.4.30, CXXABI_1.3.13

  15     GCC 13.1.0: GLIBCXX_3.4.31, CXXABI_1.3.14


10. 常用库缺失解决

在安装或运行软件过程中经常出现类似 xxxx.so.1.0: cannot open shared object file: No such file or directory的库缺失报错,一般加载或安装对应的库文件即可。

缺失库 需要加载的库
libbz2.so.1.0 module load bzip2/1.0.6
libgsl.so.23 module load GSL/2.4
liblzma.so.0 module load XZ/5.2.4
libgeos_c.so.1 module load GEOS/3.7.1
libicuuc.so.42 module load icu/42
libzstd.so.1 module load zstd/1.5.0
libjemalloc.so.2 module load jemalloc/5.2.1
libpng16.so.16 module load libpng/1.6.24
ltld.so module load libtool/2.4.6
libpcre2-8.so.0 module load PCRE/10.00
libglpk.so.40 module load glpk/5.0


11. core dumped

造成"core dumped"错误的原因可能有多种,包括:

程序Bug:程序中存在错误、内存泄漏或未处理的异常,导致程序崩溃。在这种情况下,需要检查程序代码并修复错误,或向开发人员求助;

输入数据有问题。检查输入数据是否符合要求,或更换其他数据尝试;(如bsmap,参考基因组序列需要多行的格式,单行就出现core dump报错)

节点内存不够:程序使用的内存超过了系统可用的内存导致出错。可以更换内存更大的节点尝试;


12. too many open files

too many open files 报错的原因一般是某个进程打开了超过系统限制的文件数量,默认值为1024,非root用户可以使用命令设置到4096。

在本集群运行此作业如出现此报错,可在lsf脚本中添加 ulimit -n 4096 命令就可以临时将本账号的限制最大提升至4096,大于此值会出现权限不够的报错;如果还出现此报错,建议使用smp队列,smp队列中此值为32768;如果32768也不够,请联系管理员处理。


13. 软件离线运行

基于安全考虑,计算节点未联网,导致部分在运行过程中需要联网的软件无法正常运行,暂无统一解决办法,各软件离线运行方案如下。遇到类似问题可联系管理员协助处理。

busco离线运行

interproscan离线运行

FunGAP离线运行

IGV离线运行

部分WDL流程会在运行过程中下载singularity镜像,计算节点未联网会导致流程运行失败。解决办法为,在登录节点下载好镜像,然后替换WDL脚本中的镜像URL。如 atac-seq-pipeline 的WDL脚本中有2个地方用到了 https://encode-pipeline-singularity-image.s3.us-west-2.amazonaws.com/atac-seq-pipeline_v2.2.2.sif,首先下载这个镜像,然后将这个URL替换成 DIR/atac-seq-pipeline_v2.2.2.sif 即可

nf-core 流程离线运行,见 nf-core

nextflow 脚本离线运行需配置 export NXF_OFFLINE='true'

华中农大公众号