准备工作
使用集群做计算之前,需要在办公电脑上安装SSH客户端(连接服务器,执行shell命令)、SFTP客户端(连接服务器,上传/下载文件)。
操作系统 | 命令终端 | 上传/下载 |
---|---|---|
Putty 免费 | Winscp 免费 | |
Windows | PowerShell win10自带 | PowerShell win10自带 |
xshell 教育版免费 | xshell - xftp 教育版免费 | |
Linux | Shell终端,使用ssh登录 | Shell终端,使用scp命令 |
Linux指令
目录文件处理
命令 | 说明 | 备注 |
---|---|---|
- | 建立目录 | 示例:mkdir -p test |
用法:mkdir [option] dirctory | ||
mkdir tmp | 在当前目录下建立子目录tmp | |
mkdir | mkdir /opt/tmp | 在/opt下创建子目录tmp |
mkdir /opt/tmp/sub | -p参数用于创建多级目录。若/opt/tmp目录不存在,无参数-p则指令报错 | |
mkdir -p /opt/tmp/sub | ||
- | 列出目录下内容 | -l 列表显示,-a 显示所有文件,包括隐藏文件;-t 按时间排序,从新到旧;-r 逆序排列 |
ls | 用法:ls [option] dirctory | |
ls -lrt | 按照时间排序,从后往前列表显示 | |
ls -al test | 列表显示test目录下所有文件 | |
- | 显示当前工作目录 | |
pwd | 用法:pwd | |
- | 切换工作目录 | / 根目录,目录起点,含系统目录usr、var、home、opt等 |
用法:cd dirctory | $HOME 主目录,用户家目录,默认/home/username | |
cd | test账户,家目录为/home/test,切换回家目录的几种方法 | |
cd ~ | ||
cd | cd $HOME | |
cd /home/test | ||
cd - | 回到前一个目录 | |
- | 复制(重命名)文件或目录 | -r 递归复制,复制目录以及包含的子目录文件 |
用法:cp [option] source dest | -a 递归复制,尽可能保持文件结构和属性(比如软链接) | |
cp | cp file1 /tmp/ | 复制file1到目录/tmp下 |
cp file1 /tmp/file2 | 复制file1到目录/tmp下,并重命名为file2 | |
cp -r dir1 /tmp/ | 复制dir1到目录/tmp下,须加参数-r | |
- | cp -r dir1 /tmp/dir2 | 复制dir1到目录/tmp下,并重命名为dir2 |
移动(重命名)文件或目录 | src,源文件或目录;dst,目标文件或目录 | |
用法:mv [option] src dst | src为目录,则dst必须为目录 | |
mv | mv dir1 /tmp/dir2 | /tmp/dir2存在,则移动dir1到/tmp/dir2;不存在,则移动dir1到/tmp下并重命名为dir2 |
mv file1 /tmp | 移动文件file1到目录/tmp下 | |
mv file1 /tmp/file2 | /tmp/file2存在,则移动file1到/tmp下并覆盖file2;不存在,则移动file1到/tmp下并重命名为file2 | |
- | 删除文件或目录 | -f 强制删除;-r 删除目录以及目录内所有内容 |
rm | 用法:rm [option] ...file... | |
- | rm /tmp/test.log | 删除/tmp下test.log |
文本处理
命令 | 说明 | 备注 |
---|---|---|
显示或拼接文件内容 | 输出文件内容并打印到终端 | |
cat | 用法:cat [option] file... | |
cat -n file1 file2 | 显示file1、file2内容,并显示行号 | |
- | 查看文件内容,一页暂停,空格继续,q退出 | 相较于cat,分页显示 |
more | 用法:more [option] file... | |
more /tmp/test.log | 查看test.log内容 | |
head | head filepath | |
head -n 20 filepath | ||
tail filepath | ||
tail | tail -n 20 filepath | |
tail -f filepath |
系统管理
命令 | 说明 | 备注 |
---|---|---|
- | 进程查看命令 | |
ps | 用法:ps [option] | 查看系统当前运行程序,可获取进程ID、用户、具体程序等 |
- | ps aux | 查看a所有用户、x执行程序、并显示u用户信息 |
- | 删除运行的作业或者程序 | |
kill | 用法:kill [option] pid | -l 查看信号列表,比如:9) SIGKILL |
- | kill -9 1234 | 给进程号为1234的程序发送停止运行信号,停止运行 |
- | 查看目录或文件所占空间大小 | |
du | 用法:du [option] [file]... | |
- | du -h /tmp | 查看/tmp目录大小,并以K、M、G等显示 |
服务器作业管理指令
提交作业
qsub 作业脚本
如:qsub test.pbs
使用submit-g16.sh脚本提交任务:qsub -N jobname.gjf submit-g16.sh
使用qg16脚本提交任务:qg16 jobname.gjf
注意:下列脚本对应不同cpu数队列,脚本和输入文件均需tiaoz
qg16用于提交任务到16CPU队列(nprocshared=16)
qg1612用于提交任务到12CPU队列(nprocshared=12)。
以下为脚本内容和解释:
##指定SHELL类型
#PBS -S /bin/sh
##指定作业名称
#PBS -N JobName
##标准输出到文件stdout
#PBS -o stdout
##错误输出到文件stderr
#PBS -e stderr
##指定作业优先级
#PBS -p 0
##指定作业队列,不指定使用默认队列
#PBS -q batch
##指定所用节点数nodes:每个节点处理器数ppn:指定节点属性(可选)
#PBS -l nodes=1:ppn=16
##指定任务运行最大时间
#PBS -l walltime=10000:00:00
##进入工作目录
cd $PBS_O_WORKDIR
# 设置应用程序,环境变量(g09d01)
source /opt/local/g09d01/g09/setenv.sh
##临时文件写入计算节点/data/tmp
export GAUSS_SCRDIR=/data/tmp
##获取参数
nproc=$(wc -l < $PBS_NODEFILE)
env > env
##执行应用程序
##输入文件gjf须设置%nproc=nodes*ppn,比如%nproc=16
##使用*匹配任意名称gjf文件,确保计算目录只有一个输入文件
g09 *.gjf
if [ -f *.chk ]; then
$g09root/g09/formchk *.chk
fi
查看作业
# 查看作业,左侧第一列为作业ID
qstat
# 查看指定作业
qstat JOBID
# 查看指定作业,详细信息
qstat -f JOBID
# 状态说明:Q 排队、R 运行、C 完成
# 查看所有用户的作业(排队情况)
showq
删除作业
# 停止&删除任务
qdel JOBID
qdel JOBID1 JOBID2 ...
查看节点
# 查看作业系统节点信息及状态
pbsnodes 或者qnodes
# 状态介绍
# free,节点空闲,可以提交任务;
# down,节点不能提交任务(如果不是管理员设置,则该节点网络服务不正常);
# job-exclusive,节点已满
新建账户/节点磁盘写满时删除临时文件(略)
服务器配置(略)