linux中进度调度命令 linux调度命令

Linux中如何启动进程?进程调度命令有哪些?Linux技术的发展引起了很多企业和个人的关注 。市场对Linux运维的需求逐渐增加,学习Linux技术的人越来越多 。在Linux运维中,进程是必须学习掌握的技能 。那么Linux中如何启动进程?常用的进程调度命令有哪些?
执行中的程序称作进程 。当程序的可执行文件存储在存储器中并运行时,每个进程将被动态分配系统资源、内存、安全属性和相关状态 。多个进程可以与同一个程序相关联,并在同一时间执行,而不会相互干扰 。操作系统将有效地管理和跟踪所有正在运行的进程 。
Linux中如何启动进程?启动进程的方法是什么?
手工启动 。用户在输入端发出命令,直接启动进程 。分为前台启动和后台启动 。前台启动:直接在SHELL中输入命令进行启动 。后台启动:启动一个目前并不紧急的进程 。
调度启动 。系统管理员根据系统资源和进程占用资源的情况,事先进行调度安排,指定任务运行的时间和场合,到时候系统会自动完成该任务 。
常用的进程调度命令有哪些?
常用的进程调度命令有:at、batch、crontab 。
以上便是关于“如何启动或终止进程?常用的进程调度命令有哪些?”的相关介绍 。想要成为一名优秀的Linux运维工程师,需要掌握更多的Linux知识 。
linux 调整CPU程序调度的几种方法一,使用taskset充分利用多核cpu,让cpu的使用率均衡到每个cpu上
#taskset
-p,设定一个已存在的pid,而不是重新开启一个新任务
-c,指定一个处理,可以指定多个,以逗号分隔,也可指定范围,如:2,4,5,6-8 。
1,切换某个进程到指定的cpu上
taskset -cp 3 13290
2,让某程序运行在指定的cpu上
taskset -c 1,2,4-7 tar jcf test.tar.gz test
需要注意的是,taskset -cp 3 13290在设定一个已经存在的pid时,子进程并不会继承父进程的,
因此像tar zcf xxx.tar.gz xxx这样的命令,最好在启动时指定cpu,如果在已经启动的情况下,则需要指定tar调用的gzip进程 。
二,使用nice和renice设置程序执行的优先级
格式:nice [-n 数值] 命令
nice 指令可以改变程序执行的优先权等级 。指令让使用者在执行程序时,指定一个优先等级,称之为 nice 值 。
这个数值从最高优先级的-20到最低优先级的19 。负数值只有 root 才有权力使 。
一般使用者,也可使用 nice 指令来做执行程序的优先级管理,但只能将nice值越调越高 。
可以通过二种方式来给某个程序设定nice值:
1,开始执行程序时给定一个nice值,用nice命令
2 , 调整某个运行中程序的PID的nice值 , 用renice命令
通常通过调高nice值来备份,为的是不占用非常多的系统资源 。
例:
nice -n 10 tar zcf test.tar.gz test
由nice启动的程序 , 其子进程会继承父进程的nice值 。
查看nice值
# nice -n -6 vim test.txt
# ps -l
F SUIDPIDPPIDC PRINI ADDR SZ WCHANTTYTIME CMD
4 S0 1942726370750 – 16551 waitpts/600:00:00 bash
4 T0 21654 19427071-6 – 23464 finish pts/600:00:00 vim
renice调整运行中程序的nice值
格式:renice [nice值] PID
三,使用ulimit限制cpu占用时间
注意 , ulimit 限制的是当前shell进程以及其派生的子进程 。因此可以在脚本中调用ulimit来限制cpu使用时间 。
例如,限制tar的cpu占用时间,单位秒 。
# cat limit_cpu.sh
ulimit -SHt 100
tar test.tar.gz test
如果tar占用时间超过了100秒,tar将会退出,这可能会导致打包不完全,因此不推荐使用ulimit对cpu占用时间进行限制 。
另外 , 通过修改系统的/etc/security/limits配置文件,可以针对用户进行限制 。
四,使用程序自带的对cpu使用调整的功能
某些程序自带了对cpu使用调整的功能,比如nginx服务器,通过其配置文件,可以为工作进程指定cpu , 如下:
worker_processes3;
worker_cpu_affinity 0001 0010 0100 1000;
这里0001 0010 0100 1000是掩码,分别代表第1、2、3、4颗cpu核心,这就使得cpu的使用比较平均到每个核心上 。
浅析Linux下进程的调度策略与优先级 在 Linux 中,线程是由进程来实现的,可以认为线程就是一个轻量级的进程,因此,线程调度是按照进程调度的方式来进行的 。这样设计 , 线程调度流程可以直接复用进程调度流程 , 没必要再设计一个进程内的线程调度器了 。
在 Linux 中,进程调度器是基于进程的调度策略与调度优先级来决定调度哪个进程运行 。
调度策略主要包括:
调度优先级的范围是 0~99,数值越大,表示优先级越高 。
其中,SCHED_OTHER、SCHED_IDLE、SCHED_BACH 为非实时调度策略 , 其调度优先级为 0 。而 SCHED_FIFO、SCHED_RR 是实时调度策略,其调度优先级范围为 1~99 。
实时调度策略的进程总是比非实时调度策略的进程优先级高 。
在 Linux 内部实现中,调度器会为每个可能的调度优先级维护一个可运行的进程列表 , 以最高优先级列表头部的进程作为下一次调度的进程,所有的调度都是抢占式的,如果一个具有更高调度优先级的进程转换为可运行状态,那么当前运行的进程将被强制进入其等待的队列中 。
SCHED_OTHER
该调度策略是默认的 Linux 分时调度策略 , 该调度策略为非实时的,其调度优先级总是为 0 。
对于该调度策略类型的进程,调度器是基于动态优先级来调度的 。动态优先级跟属性 nice 有关,nice 的值会随着进程的运行时间而动态改变,以确保所有具有 SCHED_OTHER 策略的进程公平地得到调度 。
在 Linux 中,nice 的值范围为-20 ~19,默认值为 0 。nice 值越大,则优先级越低 , 因此相对较低 nice 值的进程可以获得更多的处理器时间 。
通过命令ps -el查看系统中的进程列表,其中NI列就是进程对应的 nice 值 。
使用top命令,看到的NI列也是进程的 nice 值 。
调整 nice 值 , 可以通过 shell 命令nice,该命令可以按照指定的 nice 值运行cmd,命令的帮助信息为:
重新调整已运行进程的 nice 值 , 可通过renice命令实现,命令的帮助信息为:
另外,可以执行top命令,输入r,根据提示输入进程的pid , 再输入nice数值,也可以调整进程的nice值 。
SCHED_FIFO
该调度策略为先入先出调度策略,简单概括,就是一旦进程占用了 CPU,则一直运行 , 直到有更高优先级的任务抢占,或者进程自己放弃占用 CPU 。
SCHED_RR
该调度策略为时间片轮转调度策略,该调度策略是基于 SCHED_FIFO 策略的演进 , 其在每个进程上增加一个时间片限制,当时间片使用完成后,调度器将该进程置于队列的尾端 , 放在尾端保证了所有具有相同调度优先级的进程的调度公平 。
使用top命令,如果PR列的值为RT ,则说明该进程采用的是实时调度策略,其调度策略为 SCHED_FIFO 或者 SCHED_RR,而对于非实时调度策略的进程 , 该列的值为NI20。
可以通过命令ps -eo state,uid,pid,ppid,rtprio,time,comm来查看进程对应的实时优先级,实时优先级位于RTPRIO列下,如果进程对应的列显示为- , 说明该进程不是实时进程 。
chrt命令可以用来很简单地更改进程的调度策略与调度优先级 。在 Linux 下查看chrt命令的帮助信息:
比如,获取某个进程的调度策略,使用如下命令:
在比如 , 设置某个进程的调度策略为 SCHED_FIFO,调度优先级为 70,使用如下命令:
Linux进程的查看和调度分别使用什么命令进程查看的命令是ps和top 。
ps 命令用于查看当前正在运行的进程 。
进程调度的命令有atlinux中进度调度命令,crontablinux中进度调度命令,batchlinux中进度调度命令,kill 。
Linux crontab命令Linux crontab命令被用来提交和管理用户的需要周期性执行的任务,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务 。
crontab文件:指定包含待执行任务的crontab文件 。
Linux下的任务调度分为两类:系统任务调度和用户任务调度 。
系统任务调度:系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等 。在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件 。
/etc/crontab文件包括下面几行:
前四行是用来配置crond任务运行的环境变量,第一行SHELL变量指定了系统要使用哪个shell,这里是bash , 第二行PATH变量指定了系统执行命令的路径,第三行MAILTO变量指定了crond的任务执行信息将通过电子邮件发送给root用户 , 如果MAILTO变量的值为空,则表示不发送任务执行信息给用户 , 第四行的HOME变量指定了在执行命令或者脚本时使用的主目录 。
用户任务调度:用户定期要执行的工作,比如用户数据备份、定时邮件提醒等 。用户可以使用 crontab 工具来定制自己的计划任务 。所有用户定义的crontab文件都被保存在/var/spool/cron目录中 。其文件名与用户名一致,使用者权限文件如下:
/etc/cron.deny 该文件中所列用户不允许使用crontab命令
/etc/cron.allow 该文件中所列用户允许使用crontab命令
/var/spool/cron/ 所有用户crontab文件存放的目录,以用户名命名
crontab文件的含义:用户所建立的crontab文件中,每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段 , 格式如下:
minute hour day month week command 顺序:分 时 日 月 周
其中:
在以上各个字段中,还可以使用以下特殊字符:
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
查看crontab服务状态:
service crond status
手动启动crontab服务:
service crond start
查看crontab服务是否已设置为开机启动,执行命令:
ntsysv
加入开机自动启动:
chkconfig –level 35 crond on
每1分钟执行一次command
每小时的第3和第15分钟执行
在上午8点到11点的第3和第15分钟执行
每隔两天的上午8点到11点的第3和第15分钟执行
每个星期一的上午8点到11点的第3和第15分钟执行
每晚的21:30重启smb
【linux中进度调度命令 linux调度命令】每月1、10、22日的4 : 45重启smb
每周六、周日的1:10重启smb
每天18 : 00至23 : 00之间每隔30分钟重启smb
每星期六的晚上11:00 pm重启smb
每一小时重启smb
晚上11点到早上7点之间,每隔一小时重启smb
每月的4号与每周一到周三的11点重启smb
一月一号的4点重启smb
每小时执行/etc/cron.hourly目录内的脚本
linux中进度调度命令的介绍就聊到这里吧,感谢你花时间阅读本站内容 , 更多关于linux调度命令、linux中进度调度命令的信息别忘了在本站进行查找喔 。

    推荐阅读