常见问题(FAQ)
1. 常用命令无法使用¶
用户编辑~/.bashrc
时,PATH
环境变量相关的部分编写错误,会导致出现下面这种常用命令无法使用的情况。
$ cat test.txt
bash: cat: command not found...
~/.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目录。
$ lsload c01n01
HOST_NAME status r15s r1m r15m ut pg ls it tmp swp mem
c01n01 ok 8.0 7.8 7.9 22% 0.0 0 4226 0 3.7G 241G
作业本身不往/tmp
目录下写入很多数据,是其它作业把/tmp
目录写满了。可以使用lsf相关选项,重新投递出错的作业到其它/tmp
目录有空闲的节点。
-R "select[tmp>10G]"
作业本身需要往/tmp
内写入大量的数据,建议使用TMP
环境变量重新设置临时目录到本地。有多个类似作业时,建议每个作业一个目录,避免文件重名程序出错。bs_seeker repex_tarean paragraph
等都会往/tmp
目录下写入大量的数据,使用时注意设置TMP
环境变量。
#BSUB -J program
#BSUB -n 10
#BSUB -R span[hosts=1]
#BSUB -o %J.out
#BSUB -e %J.err
#BSUB -q normal
tmpn=`mktemp -u programname_XXXXX`
tmpd="${HOME}/tmp/${tmpn}"
mkdir -p ${tmpd}
echo ${tmpd}
export TMP=${tmpd}
# 运行程序
program...
# 清理临时文件
rm -r ${tmpd}
4. 存储超过配额¶
写入数据或程序运行时出现 Disk quota exceeded
的报错,说明存储空间或文件数超过配额。diskquota
查看存储使用情况,清理账号下的数据至配额之下方可正常写入数据。建议对所有数据扫描一遍,压缩删除不必要的数据,参考 文件扫描。如果需要增加存储配额,可按这个步骤处理申请增加配额。
$ diskquota
Filesystem type blocks quota limit in_doubt grace | files quota limit in_doubt grace Remarks
public USR 43.74T 20T 20T 0 7 days | 9890452 17500000 17500000 0 none
$ cp data/NT/taxdb.btd.gz .
cp: error writing ‘./taxdb.btd.gz’: Disk quota exceeded
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环境出现如下的命令行提示符显示异常
(base)
(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
报错。
$ ./program
program: /lib64/libstdc++.so.6: version 'GLIBCXX_3.4.20' not found(required by program)
module load GCC/5.4.0-2.26
。 常用GCC版本与GLIBCXX的对应版本如下所示,完整列表见:ABI Policy and Guidelines
GCC 4.8.0: GLIBCXX_3.4.18, CXXABI_1.3.7
GCC 4.8.3: GLIBCXX_3.4.19, CXXABI_1.3.7
GCC 4.9.0: GLIBCXX_3.4.20, CXXABI_1.3.8
GCC 5.1.0: GLIBCXX_3.4.21, CXXABI_1.3.9
GCC 6.1.0: GLIBCXX_3.4.22, CXXABI_1.3.10
GCC 7.1.0: GLIBCXX_3.4.23, CXXABI_1.3.11
GCC 7.2.0: GLIBCXX_3.4.24, CXXABI_1.3.11
GCC 8.1.0: GLIBCXX_3.4.25, CXXABI_1.3.11
GCC 9.1.0: GLIBCXX_3.4.26, CXXABI_1.3.12
GCC 9.2.0: GLIBCXX_3.4.27, CXXABI_1.3.12
GCC 9.3.0: GLIBCXX_3.4.28, CXXABI_1.3.12
GCC 10.1.0: GLIBCXX_3.4.28, CXXABI_1.3.12
GCC 11.1.0: GLIBCXX_3.4.29, CXXABI_1.3.13
GCC 12.1.0: GLIBCXX_3.4.30, CXXABI_1.3.13
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. 计算节点未联网导致部分软件无法运行¶
部分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'
本站总访问量 次