SGE基本操作
SGE怎样工作:
1. 接受用户投放的任务
2. 在任务运行以前,将任务放到一个存储区域
3. 发送任务到一个执行设备,并监控任务的运行
4. 运行结束写回结果并记录运行日志
常用的SGE命令:
1. 投递任务到指定队列all.q
方法一: qsub -cwd -l vf=*G -q all.q *.sh
方法二: qsub -cwd -S /bin/bash -l vf=*G -q all.q *.sh
-cwd 表示在当前路径下投递,sge的日志会输出到当前路径。
-l vf=*G 任务的预估内存,内存估计的值应稍微大于真实的内存,内存预估偏小可能会导致节点跑挂。
-q 指定要投递到的队列,如果不指定的话,SGE会在用户可使用的队列中选择一个满足要求的队列。
注: 方法一和方法二都可以投递任务到指定队列,但是方法一可能会输出警告信息“Warning: no access to tty (Bad file descriptor). Thus no job control in this shell.” 这是因为SGE默认使用的是tcsh,而*.sh使用的是bash,所以应该在投递的时候指明命令解释器。若非要使用方法一的话,可以在脚本*.sh的开头加上#$ -S /bin/bash。
2. 投递任务到指定节点
qsub -cwd -l vf=*G -l h=node1 *.sh
qsub -cwd -l vf=*G -l h=node1 -P project -q all.q *.sh
-P 参数指明任务所属的项目
3. 查询任务
qstat -f 查看所有任务
qstat -j jobId 按任务id查看
qstat -u user 按用户查看
任务状态:
qw 表示等待状态
Eqw 投递任务出错
r 表示任务正在运行
dr 节点挂了之后,删除任务就会出现这个状态,只有节点重启之后,任务才会消失
4. 删除任务
qdel -j 1111 删除任务号为1111的任务
5. 其他命令
qrsh 与qsub相比,是交互式的投递任务,注意参数:
-now yes|no 默认设置为yes
若设置为yes,立即调度作业,如果没有可用资源,则拒绝作业,任务投递失败,任务状态为Eqw。
若设置为no,调度时如果没有可用资源,则将作业排入队列,等待调度。
例子: qrsh -l vf=*G -q all.q -now no -w n *sh
qacct 从集群日志中抽取任意账户信息
qalter 更改已提交但正处于暂挂状态的作业的属性
qconf 为集群和队列配置提供用户界面
qhold 阻止已提交作业的执行
qhost 显示SGE执行主机(即各个计算节点)的状态信息
qlogin 启动telnet或类似的登录会话。
6. bash脚本与Linux环境变量
为了防止脚本运行时找不到环境变量,在投递的bash脚本的前面最好加上以下两句话:
#! /bin/bash
#$ -S /bin/bas
Ctal + z 挂起
bg 回车在后台执行
fg 回车,切换为前台执行
(1) CTRL+Z挂起进程并放入后台
(2) jobs 显示当前暂停的进程
(3) bg %N 使第N个任务在后台运行(%前有空格)
(4) fg %N 使第N个任务在前台运行
默认bg,fg不带%N时表示对最后一个进程操作!
SGE基本操作的更多相关文章
- Key/Value之王Memcached初探:二、Memcached在.Net中的基本操作
一.Memcached ClientLib For .Net 首先,不得不说,许多语言都实现了连接Memcached的客户端,其中以Perl.PHP为主. 仅仅memcached网站上列出的语言就有: ...
- Android Notification 详解(一)——基本操作
Android Notification 详解(一)--基本操作 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Notification 文中如有纰 ...
- Android Notification 详解——基本操作
Android Notification 详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 前几天项目中有用到 Android 通知相关的内容,索性把 Android Notificatio ...
- 三、Redis基本操作——List
小喵的唠叨话:前面我们介绍了Redis的string的数据结构的原理和操作.当时我们提到Redis的键值对不仅仅是字符串.而这次我们就要介绍Redis的第二个数据结构了,List(链表).由于List ...
- 二、Redis基本操作——String(实战篇)
小喵万万没想到,上一篇博客,居然已经被阅读600次了!!!让小喵感觉压力颇大.万一有写错的地方,岂不是会误导很多筒子们.所以,恳请大家,如果看到小喵的博客有什么不对的地方,请尽快指正!谢谢! 小喵的唠 ...
- 一、Redis基本操作——String(原理篇)
小喵的唠叨话:最近京东图书大减价,小喵手痒了就买了本<Redis设计与实现>[1]来看看.这里权当小喵看书的笔记啦.这一系列的模式,主要是先介绍Redis的实现原理(可能很大一部分会直接照 ...
- Linq查询基本操作
摘要:本文介绍Linq查询基本操作(查询关键字) - from 子句 - where 子句 - select子句 - group 子句 - into 子句 - orderby 子句 - join 子句 ...
- C++ map的基本操作和使用
原文地址:http://blog.sina.com.cn/s/blog_61533c9b0100fa7w.html Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可 ...
- python之最强王者(10)———文件(File)、输入输出的基本操作
1. Python 文件I/O 本章只讲述所有基本的的I/O函数,更多函数请参考Python标准文档. 2.打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个用逗号隔开的表达式. ...
随机推荐
- mock模拟后台数据
import Mock from 'mockjs' const Random = Mock.Random // 获取random对象,随机生成各种数据,具体请翻阅文档 const domain = ' ...
- vimset
vim ~./vimrc vim /etc/vim/vimrc set nocompatible "去掉有关vi一致性模式,避免以前版本的bug和局限 se ...
- golang-切片
切片练习 package main import "fmt" /*func main() { arr := [10]int {1, 2, 3, 4, 5, 6, 7, 8, 9, ...
- 树——倍增LCA
与正文无瓜的前言 身为一个高一才开始学的OIER,现在才开始恶补模板,感觉今年就要退役了. 不想刷题了滚过来写写博客<-------极端危险的思想. 引入 LCA(Lowest Common A ...
- postman_
form-data 相当于Content-Type:multipart/form-data;它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开.既可以上传键值对,也可以上传文件. x-www- ...
- book-rev8
xv6 a simple, Unix-like teaching operating system 一个简易.类Unix教学操作系统 Russ Cox Frans Kaashoek Robert Mo ...
- ubuntu之路——day11.3 不匹配数据划分的偏差和方差
在11.2中,我们提到了一种数据划分的方法,那么怎么衡量这种数据划分方法中的误差呢? 来看一个例子:有20w条各种领域的语音识别数据,2w条汽车语音定位数据 train+dev+test,其中trai ...
- 【内功修炼】"裁员潮",“中年危机”,该如何战胜你的焦虑
"裁员"."中年危机"这些曾经看上去比较遥远的词汇,最近开始频繁出现在各种文章和新闻中,个人觉得这主要由两方面原因造成: 近两年,国内外经济形势严峻(更有经济学 ...
- strace命令 二
让我们看一台高负载服务器的 top 结果: top 技巧:运行 top 时,按「1」打开 CPU 列表,按「shift+p」以 CPU 排序. 在本例中大家很容易发现 CPU 主要是被若干个 PHP ...
- DTServiceHubClient failed to bless service hub for simulator iPhone X (5C15AE72-12E2-475D-9C2B-EF...
XCode跑不起模拟器,并报错:DTServiceHubClient failed to bless service hub for simulator iPhone X (5C15AE72-12E2 ...