SGE:qsub/qstat/qdel/qhost 任务投递和监控
参考:
qsub是最为稳定的底层任务投递系统,就是把一个脚本投递到集群的计算节点上运行。
注意,只有登录节点才有资格投递任务,计算节点没有权限投递任务,只能执行,所以千万不要在投递的脚本内嵌套投递,会报错的。
下面是我最为常用的投递命令:
qsub -cwd -l vf=5g -P 任务单元 -q 队列名
先逐条解释:
-cwd: 就是 current working directory,从当前的目录开始执行作业,也就是log文件会写到当前目录;如果不加cwd的话,就会默认输出到用户的 home 目录。如果你想指定输出目录的话,就可以使用wd命令,log会输出到你指定的目录。
-l:resource=value, 表明作业运行所需要的资源。可以看到我们后面指定了预估内存 vf=5g,一般不用指定 CPU 数。注意,实际这个没什么卵用,很少有集群能严格限制用户的内存使用,vf 只会影响你投递的效率,有人就会钻空子,尽量把内存往低了投,尽快排上。这一部分其实就是个道德约束。
-P:大型组织里会分团队,分项目,不同的项目需要制定项目名,主要是为了后期方便统计计算资源的消耗,算钱,其实这个命令没卵用。
-q:指定队列名,这个就非常重要了,队列就是计算机的队列,一个队列只有一些特定的计算节点,你投了哪个节点,你就只能用该节点指定的计算资源。
待续~
qsub -help
OGS/GE 2011.11p1
usage: qsub [options]
[-a date_time] request a start time
[-ac context_list] add context variable(s)
[-ar ar_id] bind job to advance reservation
[-A account_string] account string in accounting record
[-b y[es]|n[o]] handle command as binary
[-binding [env|pe|set] exp|lin|str] binds job to processor cores
[-c ckpt_selector] define type of checkpointing for job
[-ckpt ckpt-name] request checkpoint method
[-clear] skip previous definitions for job
[-cwd] use current working directory
[-C directive_prefix] define command prefix for job script
[-dc simple_context_list] delete context variable(s)
[-dl date_time] request a deadline initiation time
[-e path_list] specify standard error stream path(s)
[-h] place user hold on job
[-hard] consider following requests "hard"
[-help] print this help
[-hold_jid job_identifier_list] define jobnet interdependencies
[-hold_jid_ad job_identifier_list] define jobnet array interdependencies
[-i file_list] specify standard input stream file(s)
[-j y[es]|n[o]] merge stdout and stderr stream of job
[-js job_share] share tree or functional job share
[-jsv jsv_url] job submission verification script to be used
[-l resource_list] request the given resources
[-m mail_options] define mail notification events
[-masterq wc_queue_list] bind master task to queue(s)
[-notify] notify job before killing/suspending it
[-now y[es]|n[o]] start job immediately or not at all
[-M mail_list] notify these e-mail addresses
[-N name] specify job name
[-o path_list] specify standard output stream path(s)
[-P project_name] set job's project
[-p priority] define job's relative priority
[-pe pe-name slot_range] request slot range for parallel jobs
[-q wc_queue_list] bind job to queue(s)
[-R y[es]|n[o]] reservation desired
[-r y[es]|n[o]] define job as (not) restartable
[-sc context_list] set job context (replaces old context)
[-shell y[es]|n[o]] start command with or without wrapping <loginshell> -c
[-soft] consider following requests as soft
[-sync y[es]|n[o]] wait for job to end and return exit code
[-S path_list] command interpreter to be used
[-t task_id_range] create a job-array with these tasks
[-tc max_running_tasks] throttle the number of concurrent tasks (experimental)
[-terse] tersed output, print only the job-id
[-v variable_list] export these environment variables
[-verify] do not submit just verify
[-V] export all environment variables
[-w e|w|n|v|p] verify mode (error|warning|none|just verify|poke) for jobs
[-wd working_directory] use working_directory
[-@ file] read commandline input from file
[{command|-} [command_args]] account_string account_name
complex_list complex[,complex,...]
context_list variable[=value][,variable[=value],...]
ckpt_selector `n' `s' `m' `x' <interval>
date_time [[CC]YY]MMDDhhmm[.SS]
job_identifier_list {job_id|job_name|reg_exp}[,{job_id|job_name|reg_exp},...]
jsv_url [script:][username@]path
mail_address username[@host]
mail_list mail_address[,mail_address,...]
mail_options `e' `b' `a' `n' `s'
working_directory path
path_list [host:]path[,[host:]path,...]
file_list [host:]file[,[host:]file,...]
priority -1023 - 1024
resource_list resource[=value][,resource[=value],...]
simple_context_list variable[,variable,...]
slot_range [n[-m]|[-]m] - n,m > 0
task_id_range task_id['-'task_id[':'step]]
variable_list variable[=value][,variable[=value],...]
wc_cqueue wildcard expression matching a cluster queue
wc_host wildcard expression matching a host
wc_hostgroup wildcard expression matching a hostgroup
wc_qinstance wc_cqueue@wc_host
wc_qdomain wc_cqueue@wc_hostgroup
wc_queue wc_cqueue|wc_qdomain|wc_qinstance
wc_queue_list wc_queue[,wc_queue,...]
ar_id advance reservation id
max_running_tasks maximum number of simultaneously running tasks
exp explicit:<socket>,<core>[:...]
lin linear:<amount>[:<socket>,<core>]
str striding:<amount>:<stepsize>[:<socket>,<core>]
SGE:qsub/qstat/qdel/qhost 任务投递和监控的更多相关文章
- (原创)PBS | SGE 智能任务投递系统monitor | python实现
之前看到过高手写的一个monitor,用python面向对象实现的,依赖几个核心的python包,drmaa,zodb,理论上来说解决了所有的任务投递问题. 但是在复杂的集群环境下还是会经常出问题,这 ...
- SGE基本操作
SGE怎样工作: 1. 接受用户投放的任务 2. 在任务运行以前,将任务放到一个存储区域 3. 发送任务到一个执行设备,并监控任务的运行 4. 运行结束写回结果并记录运行日志 常用的SGE命令: 1. ...
- sge的简单的应用
1.sge提交脚本qsub 1.qsub work.sh work.sh 不能以数字开头 2.qsub work.sh 默认工作路径为/home/username 3.qsub -cwd work. ...
- sge学习 (转)
转自http://biancheng.dnbcw.info/linux/417992.html 命令: qsub - submit a batch job to Grid Engine. qsh ...
- 集群SGE作业调度系统
目录 0. 一些基本概念 1. 常见的几种资源管理和调度系统 2. SGE常见指令 2.1 提交任务 2.2 查看任务 2.3 删除任务 2.4 挂起/恢复任务 2.5 更改任务属性 0. 一些基本概 ...
- 16、SGE作业调度系统的简介
转载:http://www.zilhua.com/2222.html http://gridscheduler.sourceforge.net/htmlman/ SGE作业调度系统的简介 一.常见的几 ...
- ActiveMQ笔记(6):消息延时投递
在开发业务系统时,某些业务场景需要消息定时发送或延时发送(类似:飞信的短信定时发送需求),这时候就需要用到activemq的消息延时投递,详细的文档可参考官网说明,本文只介绍二种常用的用法: 注:本文 ...
- IM消息送达保证机制实现(二):保证离线消息的可靠投递
1.前言 本文的上篇<IM消息送达保证机制实现(一):保证在线实时消息的可靠投递>中,我们讨论了在线实时消息的投递可以通过应用层的确认.发送方的超时重传.接收方的去重等手段来保证业务层面消 ...
- Sun Grid Engine (SGE)大型集群作业调度系统
Oracle Grid Engine 作业调度系统的简介(目前为止我用过PBS和SGE) SGE作业调度系统学习笔记 SGE作业调度 USE of Sun Grid Engine(SGE) 待续~
随机推荐
- memcached小试牛刀
memcached安装 [root@localhost ~]# cd /usr/local/src [root@localhost src]#wget http://www.memcached.org ...
- uva 13598
/* 题目的大意是 给你 N 学生 然后 给前 K个学生编号了 给定的 号码 , 然后你按照 使得接下来学生 学号尽量小的 方法 从第 K+1个学生开始编号 每个号码 自然只能用一次, 解答 : 先将 ...
- Instruments(性能调优 12.3)
Instruments Instruments是Xcode套件中没有被充分利用的一个工具.很多iOS开发者从没用过Instruments,或者只是用Leaks工具检测循环引用.实际上有很多Instru ...
- jquery 实现两级导航菜单
主要用于运维系统, 对界面要求不高的场合. 深深感到自己页面设计能力弱爆了,只能借鉴一下了, 交互逻辑还可以胜任一点. 直接贴代码: 1. HTML 页面及 JS 交互, 注意引入 Jquery ...
- 生产者消费者模型——wait/notify/notifyAll使用
告警系统架构如下 1. 数据处理系统处理完原始数据并入库后,发送消息到kafka系统: 2. 告警生产者从kafka系统查询消息存入告警消息队列: 3. 告警消费者从告警消息队列查询消息进行处理. 这 ...
- 在thinkphp里面执行原生的sql语句
在thinkphp里面执行原生的sql语句 怎样在thinkphp里面执行原生的sql语句? $Model = new Model();//或者 $Model = D(); 或者 $Model = M ...
- UVA12558 Egyptian Fractions (HARD version) (埃及分数,迭代加深搜索)
UVA12558 Egyptian Fractions (HARD version) 题解 迭代加深搜索,适用于无上界的搜索.每次在一个限定范围中搜索,如果无解再进一步扩大查找范围. 本题中没有分数个 ...
- 主引导记录MBR的结构和作用
MBR磁盘分区都有一个引导扇区,称为主引导记录,英文简称为MBR.1. MBR的结构MBR扇区位于整个硬盘的第一个扇区:按照C/H/S地址描述,即0柱面〇磁头1扇 区:按照LBA地址描述即0扇区.它是 ...
- Ansible 入门指南 - 学习总结
概述 这周在工作中需要去修改 nginx 的配置,发现了同事在使用 ansible 管理者系统几乎所有的配置,从数据库的安装.nginx 的安装及配置.于是这周研究起了 ansible 的基础用法.回 ...
- Ansible 入门指南 - 常用模块
介绍 module 文档: 官宣-模块分类的索引 官宣-全部模块的索引 在playbook脚本中,tasks 中的每一个 action都是对 module的一次调用.在每个 action中: 冒号前面 ...