sge的简单的应用
1、sge提交脚本qsub
1、qsub work.sh work.sh 不能以数字开头
2、qsub work.sh 默认工作路径为/home/username
3、qsub -cwd work.sh 为当前路径 -wd 为指定路径!
4、qsub -cwd -l vf=*G -q all.q *.sh
-cwd 表示在当前路径下投递,sge的日志会输出到当前路径。
-l vf=*G 任务的预估内存,内存估计的值应稍微大于真实的内存,内存预估偏小可能会导致节点跑挂。
-q 指定要投递到的队列,如果不指定的话,SGE会在用户可使用的队列中选择一个满足要求的队列。
5、qsub -cwd -l vf=*G -l h=node1 *.sh
qsub -cwd -l vf=*G -l h=node1 -P project -q all.q *.sh
qsub –cwd -l h= compute-1-1,vf=nG,p=n <shell script>
投递任务到指定节点(h) 内存(vf) cpu数量(p)P为项目名字
2、查询任务qstat
qstat -f 查看所有任务
qstat -j jobId 按任务id查看
qstat -u user 按用户查看
任务状态:
qw 表示等待状态
Eqw 投递任务出错
r 表示任务正在运行
dr 节点挂了之后,删除任务就会出现这个状态,只有节点重启之后,任务才会消失
3、任务删除qdel
qdel -j 1111 删除任务号为1111的任务
4、其他命令
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或类似的登录会话。
5、bash脚本与Linux环境变量
为了防止脚本运行时找不到环境变量,在投递的bash脚本的前面最好加上以下两句话:
#! /bin/bash
#$ -S /bin/bash
6、日志查看
1、sge会产生两个文件一个是test.sheID,一个是test.shoID其中test.sheID为错误文件。test.shoID为记录文件!
调查中.....
7、sge常用命令
Sum Grid Engine常用命令
qacct #从群集日志文件抽取仲裁记录信息
qalter #更改已提交但暂挂的作业的属性
qconf #提供群集配置和队列配置的用户界面
qdel #为用户、操作员或管理员提供向作业或其子集发送信号的方式
qhold #阻止已提交作业的执行
qhost #显示执行主机的状态信息
qlogin #启用telnet或类似的带有自动选择的低负载、适当主机的登录会话
qmake #标准Unix make工具的替代工具。qmake延伸了make的功能,使其能够在一组合适的计算机之间分布一系列的make步骤。
qmod #使拥有者暂停或启用队列。所有与该队列相关的活动的进程也都将得到信号。
qmon #提供 X Windows Motif 命令界面和监视工具。
qresub #通过复制运行的或暂挂的作业创建新作业。
qrls #将作业从之前分配到的留置区域(例如,通过qhold)释放。
qrsh #可用于多种用途,比如以下的情形:
#<1>通过 Grid Engine 系统提供交互式应用程序的远程执行。qrsh 是标准的 Unix 工具 rsh 相比较而言。
#<2>允许提交批处理作业,执行时支持终端 I/O 和终端控制。终端 I/O 包括标准输出、标准错误和标准输入。
#<3>提供一个在批处理作业结束之前保持活动状态的提交客户机。
#<4>允许在 Grid Engine 软件控制下远程执行并行作业任务。
qselect #打印与指定的选择标准对应的队列名称列表。qselect 的输出通常输入到其他的 Grid Engine 系统命令,以便对选定的队列组进行操作。
qsh #在较轻负荷主机的 xterm 中打开交互式 shell 。 在该 shell 中,任何类型的交互式作业都可以运行。
qstat #提供与群集相关的所有作业和队列的状态列表。
qsub #将批处理作业提交到 Grid Engine 系统的用户界面。
qtchsh #完全兼容并可替代从普遍认同并广泛使用的 Unix C Shell(csh) 衍生出来的 tcsh。qtcsh提供的命令shell可以通过 Grid Engine软件透明地将指定应用程序的执行分布到适当且负荷较低的主机上。
###------------------------------------------------------------------------------
qacct -j job_id #查看指定作业的执行信息,不加job_id将显示所有作业信息
qconf -sul #前已配置的 ACL 列表
qconf -sprjl #显示项目列表
qconf -sm #显示 Grid Engine 系统管理人员的列表
qconf -so #显示操作人员列表
qconf -sq #显示队列和队列属性
qconf -sql #显示队列列表
队列属性的详细说明:
qname – 请求的队列名称。
hostlist – 与队列相关联的主机和主机组的列表。
processors – 该队列可以访问的多处理器系统的处理器。(除非必要,否则请不要修改这些参数值。)
qtype – 队列中可以运行的作业类型。当前,作业类型可为批处理或交互式。
slots – 可以和该队列同时执行的作业数。
owner_list – 队列拥有者,在管理人员、操作员和拥有者中有介绍。
user_lists – 用户访问权限列表中列在该参数下的用户或组标识符可以访问该队列。
xuser_lists – 用户访问权限列表中列在该参数下的用户或组标识符不能访问该队列。
project_lists – 列在该参数下的带有项目标识符的提交作业有权访问该队列。
xproject_lists – 列在该参数下的带有项目标识符的提交作业不能访问该队列。
complex_values – 根据提供给队列的特定属性定义集资源属性指定性能。
qconf -sel #显示当前配置为执行主机的所有主机的名称列表
qconf -se hostname #显示指定的执行主机的详细信息
qconf -sh #显示具有管理权限的主机列表
qconf -ss #显示提交主机列表
qconf -sc #显示所配置的资源属性列表
qconf -sconf #显示当前配置
qconf -aprj #添加一个新项目
qconf -sprjl #显示项目列表
qconf -aq queue_name #添加一个队列
qconf -ahgrp @host_group_name #添加主机组,hostlist中主机列表间隔用空格
qconf -mconf #编辑默认Shell【login_shells bash,sh,ksh,csh,tcsh】
qconf -aq #显示默认队列模板
###-----------------------
qsub 参数
-cwd #从当前工作路径运行作业
-wd working_dir #定义工作目录
-o path #定义标准输出文件路径、文件名
-e path #定义标准错误输出文件路径、文件名
-j y[es]|n[o] #定义作业的标准错误输出是否写入到输出文件中
-now y[es]|n[o] #立即执行作业
-a date_time #作业开始运行时间
-b y[es]|n[o] #指定运行程序是二进制文件还是脚本文件,默认n
-m b|e|a|s|n #定义邮件发送规则。b:作业开始时发送。e:作业结束时发送。a:作业失败时发送 s:作业挂起时发送。n:不发送
-M user[@host] #定义邮件地址
-l resource=value #表明作业运行所需要的资源。【-l arch=solaris64,h_vmem=750M,permas=1】
-N job_name #重命名作业名
-q queue_name #定义作业运行队列
-S shell_path #指定运行Shell环境
-P project_name #定义项目名称,前提是存在该项目
-p priority #定义优先级,-1023 到 1024 , 默认值0
-r y[es]|n[o] #定义作业失败后是否重新运行
-v variable #定义环境变量
-dl date_time #定义作业到期时间,在作业到期时间之前,作业的优先级会逐步提高,直到管理员指定的最高级别。
-hold_jid wc_job_list #定义作业的依赖关系,制定作业需要在指定作业正常结束后才可以开始运行。wc_job_list 可以是JOB ID或作业名
-hold_jid_ad wc_job_list #定义阵列作业的依赖关系
-R y[es]|n[o] #定义是否为作业保留资源
-hard #定义作业被调度的硬性要求
sge的简单的应用的更多相关文章
- sge学习 (转)
转自http://biancheng.dnbcw.info/linux/417992.html 命令: qsub - submit a batch job to Grid Engine. qsh ...
- 【造轮子】打造一个简单的万能Excel读写工具
大家工作或者平时是不是经常遇到要读写一些简单格式的Excel? shit!~很蛋疼,因为之前吹牛,就搞了个这东西,还算是挺实用,和大家分享下. 厌烦了每次搞简单类型的Excel读写?不怕~来,喜欢流式 ...
- Fabio 安装和简单使用
Fabio(Go 语言):https://github.com/eBay/fabio Fabio 是一个快速.现代.zero-conf 负载均衡 HTTP(S) 路由器,用于部署 Consul 管理的 ...
- node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理
一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...
- 哪种缓存效果高?开源一个简单的缓存组件j2cache
背景 现在的web系统已经越来越多的应用缓存技术,而且缓存技术确实是能实足的增强系统性能的.我在项目中也开始接触一些缓存的需求. 开始简单的就用jvm(java托管内存)来做缓存,这样对于单个应用服务 ...
- 在Openfire上弄一个简单的推送系统
推送系统 说是推送系统有点大,其实就是一个消息广播功能吧.作用其实也就是由服务端接收到消息然后推送到订阅的客户端. 思路 对于推送最关键的是服务端向客户端发送数据,客户端向服务端订阅自己想要的消息.这 ...
- 我的MYSQL学习心得(一) 简单语法
我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...
- 使用 Nodejs 搭建简单的Web服务器
使用Nodejs搭建Web服务器是学习Node.js比较全面的入门教程,因为要完成一个简单的Web服务器,你需要学习Nodejs中几个比较重要的模块,比如:http协议模块.文件系统.url解析模块. ...
- ASP.NET Aries 入门开发教程2:配置出一个简单的列表页面
前言: 朋友们都期待我稳定地工作,但创业公司若要躺下,也非意念可控. 若人生注定了风雨飘摇,那就雨中前行了. 最机开始看聊新的工作机会,欢迎推荐,创业公司也可! 同时,趁着自由时间,抓紧把这系列教程给 ...
随机推荐
- 修改了数据库文件可以识别是否最新,按数据库文件名20181217.db,日期名作文件名时间戳
修改了数据库文件可以识别是否最新,按数据库文件名20181217.db,日期名作文件名时间戳 压缩包device.rar上传到邮箱
- lua中 string.find(查找获取字符串) string.gsub(查找替换字符串) string.sub(截取字符串)
> aaa='/p/v2/api/winapi/adapter/lgj'> print(string.find(aaa, "^/.+/adapter/(.*)"))1 ...
- Ansible 远程服务器连接 Internet 测试
Email 连接: lonnyliu@126.com 需求 在使用Ansible过程中不可避免需要了解远端服务器是否能够联通外网,以便进行在线安装软件或者其他.对于运维人员来说普遍的办法有 1. 登录 ...
- Spring Boot 集成 WebSocket 实现服务端推送消息到客户端
假设有这样一个场景:服务端的资源经常在更新,客户端需要尽量及时地了解到这些更新发生后展示给用户,如果是 HTTP 1.1,通常会开启 ajax 请求询问服务端是否有更新,通过定时器反复轮询服务端响应的 ...
- Kaggle 入门题-泰坦尼克号灾难存活预测
这个题目的背景概况来讲就是基于泰坦尼克号这个事件,然后大量的人员不幸淹没在这个海难中,也有少部分人员在这次事件之中存活,然后这个问题提供了一些人员的信息如姓名.年龄.性别.票价,所在客舱等等一些信息, ...
- Ribbon 负载规则替换
1 添加规则类: 注意: 官方文档明确给出了警告: 这个自定义配置类不能放在 @ComponentScan 所扫描的当前包下以及子包下,否则自定义的配置类就会被所有的 Ribbon 客户端所共享,达不 ...
- Hexo博客美化之蝴蝶(butterfly)主题魔改
Hexo是轻量级的极客博客,因为它简便,轻巧,扩展性强,搭建部署方便深受广大人们的喜爱.各种琳琅满路的Hexo主题也是被各种大佬开发出来,十分钦佩,向大佬仰望,大声称赞:流批!!! 我在翻看各种主 ...
- Python globals和locals函数_reload函数
Python globals和locals函数_reload函数: globals( ): 返回所有能够访问到的全局名字 num = 5 sum = 0 def add(num): func_sum ...
- css浮动属性
1.为什么需要浮动 HTML中的标签元素大致分为三类:块状元素.内联元素.内联块元素. 每种元素都有其各自的特点,其中块状元素会独占一行,而内联元素和内联块元素则会在一行内显示.如果我们想让两个甚至多 ...
- 发送ajax请求时候注意的问题
1.在发送ajax请求一般都是默认为异步,就是不去等待后台响应直接可以继续发送, 但这样会有时候遇到一些问题,无法获得后台的响应参数, 所以在你打开编辑弹出框完成数据编辑后无法刷新页面, 这时候可能存 ...