网站统计功能设计,家居网站建设营销推广,建e室内设计网 周婷,广元市建设局官方网站目录
一、程序
二、进程
1、什么是进程
1.1 进程的概念
1.2 进程的特征
1.3 进程、线程和协程
2、进程状态
3、进程的类型
4、进程使用内存出现的问题
三、进程管理相关命令
1、ps#xff08;process state#xff09;
1.1 用法
1.2 分析ps命令输出的内容
2、t…目录
一、程序
二、进程
1、什么是进程
1.1 进程的概念
1.2 进程的特征
1.3 进程、线程和协程
2、进程状态
3、进程的类型
4、进程使用内存出现的问题
三、进程管理相关命令
1、psprocess state
1.1 用法
1.2 分析ps命令输出的内容
2、top
2.1 用法
2.2 分析top命令输出的内容
2.2.1 top 命令输出的第一部分
2.2.2 top 命令输出的第二部分
3、pgrep
4、pidof
5、pstree
6、lsoflist opened files
7、vmstat
8、free
9、iostat
10、iotop
11、uptime
12、mpstat
13、pmap
14、webmin
编辑
15、dstat 四、进程管理
1、前台运行和后台运行
2、前台运行和后台运行相互切换的命令
2.1
2.2 jobs
2.3 fg
2.4 ctrlz
2.5 bg
3、结束进程
3.1 kill
3.2 killall
3.3 pkill
五、计划任务
1、at
2、crontab
六、总结 一、程序
程序是一系列指令的集合用于在计算机或其他设备上执行特定的任务或操作它是以特定的编程语言编写的可以告诉计算机如何进行计算、处理数据、执行操作或解决问题通过编写程序人们可以利用计算机的处理能力来完成各种任务例如编写应用程序、设计网站、进行数据分析等程序是计算机软件的基本组成部分它们被编译或解释后可以在计算机上运行
二、进程
1、什么是进程
1.1 进程的概念
进程Process是计算机中正在运行的程序的实例是被载入内存的一个指令集合是资源分配和管理的基本单位。每个进程都有自己的内存空间、代码和数据并且可以独立地执行 进程IDProcess IDPID号码被用来标记各个进程 UID、GID语境决定对文件系统的存取和访问权限 通常从执行进程的用户来继承 存在生命周期 都由其父进程创建
1.2 进程的特征
特征说明动态性进程是程序的一次执行过程是临时的有生命期的是动态产生动态消亡的并发性任何进程都可以同其他进程一起并发执行独立性进程是系统进行资源分配和调度的一个独立单位结构性进程由程序、数据和进程控制块三部分组成
1.3 进程、线程和协程
①进程Process
进程是操作系统中的一个独立执行单位它拥有自己的内存空间、代码和数据每个进程都是独立运行的它们之间相互隔离无法直接访问对方的内存空间进程之间通过进程间通信IPC来进行数据交换和协调进程具有较高的安全性和稳定性但创建和切换进程的开销较大
②线程Thread
线程是进程内的一个独立执行单元它共享进程的内存空间和资源多个线程可以同时执行不同的任务它们可以访问相同的变量和数据线程之间的切换开销较小适合处理需要并发执行的任务线程之间的通信相对容易但需要考虑线程安全的问题
③协程Coroutine
协程是一种轻量级的线程它由程序控制自行调度而不是由操作系统调度。协程可以在同一个线程内实现并发执行通过协程的切换来实现任务的切换。协程之间的切换开销很小因此可以实现高效的并发编程。协程通常采用非抢占式的调度方式需要显式的让出执行权给其他协程
区别进程线程协程操作系统分配资源的基本单位操作系统调度任务的基本单位程序控制自行调度的基本单位进程之间相互隔离线程共享进程的资源协程在同一个线程内实现并发执行进程和线程的切换开销较大适用于需要较高安全性和稳定性的任务协程的切换开销较小适用于高效的并发编程 拓展 如何确定一个程序是多线程还是单线程 1. pstree -p | grep 程序名 //查看当前该程序的pid号 2. grep -i threads /proc/进程的PID/status //查看当前该程序的线程 或者 prtstat 进程pid号 //查看当前程序的进程信息 2、进程状态
进程状态图总览 新建New当一个程序被创建时它处于新建状态。在这个阶段操作系统为该程序分配必要的资源并为其创建一个进程控制块PCB。就绪Ready在就绪状态下进程已经准备好执行但由于CPU资源有限操作系统尚未选择该进程来执行。在多任务环境中可能有多个进程处于就绪状态。运行Running当操作系统选择一个就绪进程并将其分配给CPU时该进程进入运行状态。在运行状态下进程的指令被执行。阻塞Blocked在某些情况下进程需要等待某些事件的发生例如等待用户输入、等待I/O操作完成等。这时进程会进入阻塞状态并暂时释放CPU资源。终止Terminated进程在完成其任务后或由于某种原因被终止时进程进入终止状态。在这个状态下进程的资源被释放进程控制块被销毁。
3、进程的类型
前台进程前台进程是用户当前正在与之交互的进程。它们通常在屏幕上显示输出并等待用户输入。例如运行一个应用程序或编辑文档时相关的进程将被认为是前台进程后台进程后台进程是在后台运行的进程不会直接与用户交互。它们通常在后台执行任务而不会干扰用户的当前工作。例如下载文件或执行系统维护任务的进程可以被认为是后台进程守护进程守护进程是在操作系统启动时就开始运行的进程它们在后台运行并且没有与之直接交互的用户界面。它们通常用于执行系统级任务如服务监控、日志记录等。守护进程通常会在后台持续运行直到系统关闭或显式地被停止父进程和子进程父进程是创建其他进程的进程而子进程是由父进程创建的新进程。子进程可以继承父进程的一些属性和资源并可以独立地执行自己的任务。这种进程之间的关系形成了进程树前置进程和非前置进程前置进程是可以被操作系统中断并停止执行的进程而非前置进程则不会被中断。前置进程通常用于多任务操作系统中以便操作系统可以在需要时立即切换到其他进程。交互式进程和批处理进程交互式进程是需要与用户交互的进程而批处理进程是按照预定的命令序列自动执行的进程。交互式进程通常需要在用户输入时做出响应而批处理进程则按照预定义的规则进行处理。并发进程和并行进程并发进程是指多个进程在一段时间内同时存在但不一定同时执行。并行进程是指多个进程在同一时间内同时执行。并发进程可以通过时间片轮转等方式交替执行而并行进程则需要多个处理器或多核处理器来同时执行
4、进程使用内存出现的问题
①内存泄漏Memory Leak
指程序中用malloc或new申请了一块内存但是没有用free或delete将内存释放导致这块内存一直处于占用状态
②内存溢出Memory Overflow
指程序申请了10M的空间但是在这个空间写入10M以上字节的数据就是溢出
③内存不足OOMOut Of Memory
这种情况在java程序中比较常见。系统会选一个进程将之杀死在日志messages中看到类似下面的提示 Jul 10 10:20:30 kernel: Out of memory: Kill process 9527 (java) score 88 or sacrifice child //当JVM因为没有足够的内存来为对象分配空间并且垃圾回收器也已经没有空间可回收时就会抛出这个error因为这个问题已经严重到不足以被应用处理 出现以上问题的原因
给应用分配内存太少比如虚拟机本身可使用的内存一般通过启动时的VM参数指定太少应用用的太多并且用完没释放浪费了此时就会造成内存泄露或者内存溢出
使用的解决办法
限制java进程的max heap并且降低java程序的worker数量从而降低内存使用给系统增加swap空间
三、进程管理相关命令
1、psprocess state
1.1 用法
显示当前运行进程的信息
选项说明 BSD选项a显示当前终端下的所有进程信息包括其他用户的进程。与“x”选项结合时将示系统中所有的进程信息u使用以用户为主的格式输出进程信息x显示当前用户在所有终端下的进程信息k倒序显示进程信息UNIX选项-e显示系统内的所有进程信息-l使用长Long格式显示进程信息-f使用完整的Full格式显示进程信息GNU选项--help帮助信息
查看静态的进程统计信息
ps aux //查看系统中所有的进程
ps -le //查看系统中所有的进程而且还能看到进程的父进程的PID和进程优先级
ps -l //只能查看当前Shell产生的进程
ps axo pid,cmd,%mem,%cpu //查看进程的特定属性
ps aux k -%cpu //按CPU利用率倒序排序
ps aux k -%mem //按占用内存最多倒序排序
1.2 分析ps命令输出的内容 ps aux 命令的输出属性详解 表头说明USER该进程是由哪个用户产生的PID进程的pid号%CPU该进程占用CPU资源的百分比占用的百分比越高进程越耗费资源%MEM该进程占用物理内存的百分比占用的百分比越高进程越耗费资源VSZ该进程占用虚拟内存的大小单位为 KBRSS该进程占用实际物理内存的大小单位为 KBTTY该进程是在哪个终端运行的。代表和终端无关系统进程tty1 ~ tty7 代表本地控制台终端tty7 是图形终端tty1~tty6 是本地的字符界面终端pts/0 ~ 255 代表虚拟终端一般是远程连接的终端第一个远程连接占用 pts/0第二个远程连接占用 pts/1依次増长STAT 进程状态。常见的状态有以下几种 -D不可被唤醒的睡眠状态通常用于 I/O 情况 -R该进程正在运行 -S该进程处于睡眠状态可被唤醒 -T停止状态可能是在后台暂停或进程处于除错状态 -W内存交互状态 -X死掉的进程 -Z僵尸进程。进程已经中止但是还是占用硬件资源 -高优先级 -N低优先级 -L被锁入内存 -s包含子进程 -l多线程 -前台进程 START该进程的启动时间TIME该进程占用 CPU 的运算时间注意不是系统时间COMMAND产生此进程的命令名 ps -ef 命令的输出属性详解 表头说明F 进程标志说明进程的权限。 常见的标志有两个 1进程可以被复制但是不能被执行 4进程使用超级用户权限 S进程状态具体的状态和psaux命令中的 STAT 状态一致UID运行此进程的用户的 IDPID进程的IDPPID父进程的IDC该进程的 CPU 使用率单位是百分比PRI 进程的优先级数值越小该进程的优先级越高越早被 CPU 执行 系统定义不可以人为修改 NI 进程的优先级数值越小该进程越早被执行 可以人为修改-20~19) ADDR该进程在内存的哪个位置SZ该进程占用多大内存WCHAN 该进程是否运行 -代表正在运行 TTY该进程由哪个终端产生TIME该进程占用 CPU 的运算时间注意不是系统时间CMD产生此进程的命令名 2、top
2.1 用法
用于实时监视系统运行状态的常用工具提供了对系统各种资源利用情况的实时动态展示包括 CPU 使用率、内存占用、进程信息等
选项说明-d 秒数指定 top 命令每隔几秒更新。默认是 3 秒 -b 使用批处理模式输出。一般和-n选项合用用于把 top 命令重定向到文件中-n 次数指定 top 命令执行的次数-p 进程pid仅查看指定pid的进程-s使 top 命令在安全模式中运行避免在交互模式中出现错误-u 用户名只监听某个用户的进程
在 top 命令的显示窗口中还可以使用如下按键进行一下交互操作
操作键说明? 或 h显示交互模式的帮助c按照 CPU 的使用率排序默认就是此选项M按照内存的使用率排序N按照 PID 排序T按照 CPU 的累积运算时间排序也就是按照 TIME 项排序k按照 PID 给予某个进程一个信号。一般用于中止某个进程信号 9 是强制中止的信号r按照 PID 给某个进程重设优先级Nice值q退出 top 命令
2.2 分析top命令输出的内容
top 命令的输出内容是动态的默认每隔 3 秒刷新一次。命令的输出主要分为两部分
第一部分是前五行显示的是整个系统的资源使用状况我们就是通过这些输出来判断服务器的资源使用状态的第二部分从第六行开始显示的是系统中进程的信息 2.2.1 top 命令输出的第一部分
第一行为任务队列信息具体内容如表所示
内 容说 明19:24:57系统当前时间up 12 min系统的运行时间本机已运行了12min1 users当前登录了一个用户load average: 0.00, 0.010.04系统在之前 1 分钟、5 分钟、15 分钟的平均负载。如果 CPU 是单核的则这个数值超过 1 就是高负载如果 CPU 是四核的则这个数值超过 4 就是高负载 这个平均负载完全是依据个人经验来进行判断的一般认为不应该超过服务器 CPU 的核数
第二行为进程信息具体内容如表所示
内 容说 明Tasks: 161 total系统中的进程总数1 running正在运行的进程数160 sleeping睡眠的进程数0 stopped正在停止的进程数0 zombie僵尸进程数。如果不是 0则需要手工检查僵尸进程
第三行为 CPU 信息具体内容如表所示
内 容说 明Cpu(s): 0.0 %us用户模式占用的 CPU 百分比 个人用户开启的进程占用的 cpu 率0.1%sy系统模式占用的 CPU 百分比0.0%ni改变过优先级的用户进程占用的 CPU 百分比99.9%id空闲 CPU 占用的 CPU 百分比0.0%wa等待输入/输出的进程占用的 CPU 百分比 0.0%hi硬中断请求服务占用的 CPU 百分比0.0%si软中断请求服务占用的 CPU 百分比0.0%stststeal time意为虚拟程序占用 cpu 时间百分比就是当有虚拟机时虚拟CPU等待实际CPU的时间百分比
第四行为物理内存信息具体内容如表所示
内 容说 明Mem: 1867048k total物理内存的总量单位为KB1216592 free空闲的物理内存数量281812k used己经使用的物理内存数量368644k buffer作为缓冲的内存数量
第五行为交换分区swap信息具体内容如表所示
内 容说 明Swap: 4194300k total交换分区虚拟内存的总大小0k used已经使用的交换分区的大小419300k free空闲交换分区的大小1392216k cache作为缓存的交换分区的大小
注
通过 top 命令的第一部分就可以判断服务器的健康状态。如果 1 分钟、5 分钟、15 分钟的平均负载高于 1则证明系统压力较大。如果 CPU 的使用率过高或空闲率过低则证明系统压力较大。如果物理内存的空闲内存过小则也证明系统压力较大
2.2.2 top 命令输出的第二部分
主要是系统进程信息 表头说明PID进程的 IDUSER该进程所属的用户PR优先级数值越小优先级越高NI优先级数值越小、优先级越高VIRT该进程使用的虚拟内存的大小单位为 KBRES该进程使用的物理内存的大小单位为 KBSHR共享内存大小单位为 KBS进程状态%CPU该进程占用 CPU 的百分比%MEM该进程占用内存的百分比TIME该进程共占用的 CPU 时间COMMAND进程的命令名
3、pgrep
根据进程名或者其他属性来查找进程的 PID
选项说明 -U 指定用户-l显示进程名-a显示完整格式的进程名-P pid 显示指定进程的子进程
pgrep -l log //显示以“log”为名的进程pid
pgrep -l -U dh //查看指定用户为dh的进程pid 4、pidof
用于查找指定进程的进程pid它可以接受一个或多个进程名作为参数并返回匹配进程名的所有进程的 pid
通式 pidof 进程名1 进程名2 5、pstree 用于以树状图的形式显示进程之间的父子关系。它将按照进程的层次结构展示进程及其子进程使得用户可以清晰地了解进程之间的关系
选项说明-a 显示启动每个进程对应的完整指令包括启动进程的路径、参数等-p显示PID-T不显示线程thread默认显示线程-u显示用户切换-H pid高亮显示指定进程及其前辈进程
pstree -p |grep nginx //过滤nginx进程的pid号
pstree dh //查看用户dh的进程
pstree 2382 //查看pid号为2382的进程 6、lsoflist opened files
用于显示系统中已经打开的文件以及这些文件被哪些进程所使用。它可以帮助用户查看文件被哪些进程打开、网络连接情况等
选项说明-c 字符串只列出以字符串开头的进程打开的文件d 目录名列出某个目录中所有被进程调用的文件-u 用户名只列出某个用户的进程打开的文件-p pid列出某个 PID 进程打开的文件-t仅显示进程ID-i如lsof -i :80 查看哪些程序占用80端口 7、vmstat
用于显示系统的虚拟内存统计信息包括进程、内存、交换分区、I/O 等方面的性能数据。它可以帮助用户实时监视系统的负载情况以及发现潜在的性能问题
选项说明-n指定输出间隔和次数如 vmstat 2 5 表示每隔 2 秒输出一次共输出 5 次-a显示活跃和非活跃内存的状态-s显示内存的统计摘要信息-p 分区设备文件名查看硬盘分区的读写情况-d列出硬盘有关读写总量的统计表 分析vmstat命令输出的内容
字段说明procs进程信息字段 -r等待运行的进程数数量越大系统越繁忙。 -b不可被唤醒的进程数量数量越大系统越繁忙。memory内存信息字段 -swpd虚拟内存的使用情况单位为 KB。 -free空闲的内存容量单位为 KB。-buff缓冲的内存容量单位为 KB。-cache缓存的内存容量单位为 KB。swap交换分区信息字段 -si从磁盘中交换到内存中数据的数量单位为 KB。 -so从内存中交换到磁盘中数据的数量单位为 KB。这两个数越大表明数据需要经常在磁盘和内存之间进行交换系统性能越差。io磁盘读/写信息字段 -bi从块设备中读入的数据的总量单位是块。 -bo写到块设备的数据的总量单位是块。这两个数越大代表系统的 I/O 越繁忙。system系统信息字段 -in每秒被中断的进程次数。 -cs每秒进行的事件切换次数。这两个数越大代表系统与接口设备的通信越繁忙。cpuCPU信息字段 -us非内核进程消耗 CPU 运算时间的百分比。 -sy内核进程消耗 CPU 运算时间的百分比。 -id空闲 CPU 的百分比。 -wa等待 I/O 所消耗的 CPU 百分比。 -st被虚拟机所盗用的 CPU 百分比
注
vmstat 命令的输出结果中我们应该重点注意 procs 项中 r 列的值以及 CPU 项中 us 列、sy 列和 id 列的值
8、free
用于显示系统内存的使用情况包括物理内存、交换空间和操作系统内核缓冲区的信息
选项说明-h以更易读的单位如 KB、MB、GB显示内存使用情况-s 时间指定 free 命令的刷新间隔-b以字节为单位显示内存使用情况-k以千字节为单位显示内存使用情况-m以兆字节为单位显示内存使用情况-g 以吉字节为单位显示内存使用情况 拓展
一台服务器正常使用但使用一周后开机非常卡顿
答内存缓存太多需要及时清理缓存或者内存不足需要添加内存条
echo 3 /proc/sys/vm/drop_caches //清除缓存
9、iostat
用于显示 CPU 使用情况和设备磁盘、终端、网络文件系统等的输入/输出统计数据。它能够帮助用户监视系统的磁盘活动和 CPU 使用情况以便及时发现系统性能问题
选项说明-c只显示CPU行-d显示设备〈磁盘)使用状态-k以千字节为为单位显示输出-t在输出中包括时间戳-x在输出中包括扩展的磁盘指标 10、iotop
用于显示系统中磁盘 I/O 活动情况并能够实时监视各个进程的磁盘 I/O 使用情况类似于 top 命令对 CPU 使用情况的监视。这使得用户可以快速了解哪些进程正在对磁盘进行读取和写入操作
选项说明 -o 只显示有磁盘 I/O 活动的进程-b以批处理模式运适合脚本使用-n指定刷新间隔和次数如 iotop -n 5 表示刷新 5 次后退出 iftop -ni ens33 //监控网络流量 11、uptime
用于显示系统的运行时间以及平均负载情况。它能够帮助用户了解系统的活跃时间以及在最近 1、5 和 15 分钟内的平均负载情况 12、mpstat
用于显示每个 CPU 的性能统计信息包括平均负载、用户空间和系统空间的 CPU 时间比例等。这对于分析系统的 CPU 性能以及发现可能存在的性能瓶颈非常有帮助
选项说明 -P 后面可以跟一个 CPU 编号表示只显示指定 CPU 的统计信息-u显示 CPU 使用率的详细信息-I显示中断的统计信息 13、pmap
用于显示进程的内存映射信息。它可以显示进程使用的内存区域的详细信息包括内存映射的起始地址、权限、偏移量、设备、inode
pmap 选项 进程的pid
选项说明-x以十六进制的形式显示内存地址-d显示调试信息包括共享库、符号表等-q简化模式只显示每个内存区域的起始地址和大小-p显示内存区域所属的共享库或文件路径-X以十六进制的形式显示内存权限标志-h以更易读的单位如 KB、MB、GB显示内存大小-L显示线程的内存映射信息 14、webmin
webmin是一个基于Web界面的系统管理工具提供了一个直观的图形用户界面使系统管理员能够通过浏览器远程管理系统。
Webmin可以用来配置和管理各种系统组件和服务例如用户帐户、磁盘配额、文件共享、防火墙、网络设置等等。
wget https://prdownloads.sourceforge.net/webadmin/webmin-1.955-1.noarch.rpm
//从官网上下载安装包
yum -y install webmin-1.955-1.noarch.rpm //下载webmin工具
service webmin start //开启webmin程序服务
systemctl stop firewalld //关闭防火墙
setenforce 0 //临时关闭防护https://IP地址:10000/ //从浏览器远程管理Linux 输入Linux账户和密码后可登录到webmin可远程管理系统 15、dstat
dstat是一个开源的系统性能监控工具用于收集和报告有关系统资源使用情况的数据。它可以提供即时的系统性能统计涵盖各个方面如CPU利用率、内存使用情况、磁盘活动、网络吞吐量等。dstat以文本形式输出数据可以通过在终端中运行命令或将输出保存到文件中进行查看和分析 四、进程管理
1、前台运行和后台运行
前台运行Foreground指的是进程在用户界面中可见并与用户进行交互的执行方式。当进程在前台运行时它会占据屏幕并且用户的命令输入和程序输出都会在用户界面中显示。前台运行的进程通常需要用户的输入或响应因此它们会阻塞用户界面直到特定操作完成或用户交互完成
后台运行Background指的是进程在后台执行而不占据用户界面或阻塞用户输入的方式。后台运行的进程不会直接与用户进行交互它们在后台默默地执行任务。用户可以继续在用户界面中进行其他操作而后台进程会在后台继续执行
2、前台运行和后台运行相互切换的命令
2.1
特殊字符“”表示把前台运行的命令放入后台执行
2.2 jobs
查看后台任务列表 2.3 fg
调出后台任务到前台执行 2.4 ctrlz
把任务再调回后台但该任务会停止运行 2.5 bg
可以从新开始后台停止的服务 2.6 并行执行任务
案例
执行ping命令需要ping 172.16.12网段的所有ip地址并将其转入后台执行
编写test.sh脚本#!/bin/bash
for i in {1..254}
do
{
ping -c1 -w2 172.16.12.${i} /dev/null echo $i is online /opt/online || echo $i is offline /opt/offline
}
done 3、结束进程
3.1 kill
kill命令用于终止正在运行的进程。它发送一个信号给指定的进程告诉进程如何处理这个信号
kill 信号 进程PID号
信号编号信号名说明0EXIT程序退出时收到该信息1HUP挂掉电话线或终端连接的挂起信号这个信号也会造成某些进程在没有终止的情况下重新初始化2INT表示结束进程但并不是强制性的常用的 CtrlC 组合键发出就是一个 kill -2 的信号3QUIT退出9KILL杀死进程即强制结束进程11SEGV段错误15TERM正常结束进程是 kill 命令的默认信号
注
对于非特权用户只能终止自己拥有的进程kill命令只能识别进程pid号不能识别进程名使用kill命令时需要小心因为误操作可能导致数据丢失或系统不稳定
3.2 killall
用于终止指定名称的进程。它会发送一个信号给所有与指定名称匹配的进程从而终止这些进程
killall 选项 信号 进程名
选项说明 -i 在终止每个进程之前进行交互式确认-e 只终止完全匹配的进程名-g向进程组发送信号-I忽略进程名的大小写
注
使用killall命令时需要谨慎因为它会终止所有匹配的进程可能导致意外的结果在使用killall命令时最好明确指定进程名以避免意外终止错误的进程
3.3 pkill
用于根据进程名称终止进程。它会发送一个信号给与指定名称匹配的进程从而终止这些进程
pkill 信号 进程名
选项说明 -signal 或 -s signal 指定要发送的信号-u username 或 --euid username根据用户名终止进程-f 或 --full根据完整命令行终止进程 注
使用pkill命令时需要小心因为它会终止所有匹配的进程可能导致意外的结果在使用pkill命令时最好明确指定进程名或其他选项以避免意外终止错误的进程
五、计划任务
1、at
at命令用于在将来的某个时间执行一次性的任务。用户可以使用at命令指定一个时间来执行某个命令或脚本该任务将在指定的时间执行一次然后退出
at 选项 时间
格式用法HH:MM比如 04:00 AM。如果时间已过则它会在第二天的同一时间执行Midnightmidnight代表 12:00 AM也就是 00:00Noonnoon代表 12:00 PM相当于 12:00Teatimeteatime下午茶代表 4:00 PM相当于 16:00英文月名 日期 年份比如 January 15 2018 表示 2018 年 1 月 15 号年份可有可无MMDDYY、MM/DD/YY、MM.DD.YY比如 011518 表示 2018 年 1 月 15 号now时间以 minutes、hours、days 或 weeks 为单位例如 now5 days 表示命令在 5 天之后的此时此刻执行
atq //查看任务列表 atrm 任务序列号 //删除任务 注
如果系统中有 /etc/at.allow 文件那么只有写入 /etc/at.allow 文件白名单中的用户可以使用 at 命令其他用户不能使用 at 命令如果系统中没有 /etc/at.allow 文件只有 /etc/at.deny 文件那么写入 /etc/at.deny 文件黑名单中的用户不能使用 at 命令其他用户可以使用 at 命令。不过这个文件对 root 用户不生效如果系统中这两个文件都不存在那么只有 root 用户可以使用 at 命令 2、crontab
用于在预定时间执行任务的命令。它允许用户创建、编辑、显示和删除定期运行的任务也称为 cron 作业
基本语法 crontab 选项
选项功能-e编辑某个用户的 crontab 文件内容。如果不指定用户则表示编辑当前用户的 crontab 文件-l显示某用户的 crontab 文件内容如果不指定用户则表示显示当前用户的 crontab 文件内容-r从 /var/spool/cron 删除某用户的 crontab 文件如果不指定用户则默认删除当前用户的 crontab 文件-u user用来设定某个用户的 crontab 服务例如 -u demo 表示设备 demo 用户的 crontab 服务此选项一般有 root 用户来运行。-i在删除用户的 crontab 文件时给确认提示
crontab文件格式 * * * * * command
说明第一个 *指定分钟0 ~ 59第二个 *指定小时0 ~ 23第三个 *指定月份中的某一天1 ~ 31第四个 *指定月份1 ~ 12第五个 *指定星期中的某一天0 ~ 60 代表星期日command指定要执行的命令或脚本
特殊符号说明*星号表示该范围内的任意时间,逗号表示间隔的多个不连续时间点-中杠表示一个连续的时间范围/正斜线指定间隔的时间频率代表每隔多久执行一次
如
0 17 * * 1-5 //周一到周五每天17:00
30 8 * * 1,3,5 //每周一、三、五的8:30
0 8-18/2 * * * //8点到18点之间每两个小时
0 * */3 * * //每3天 实例
要求每两分钟执行将/etc/passwd文件复制到/opt下
crontab -e //编辑cron任务计划文件内容
*/2 * * * * /usr/bin/cp /etc/passwd /opt
或者
PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
//当cp命令不写绝对路径时需要添加这一行
*/2 * * * * cp /etc/passwd /optcrontab -l //列出当前用户的cron表
crontab -r //删除当前用户的cron表注 6 个选项都不能为空必须填写。如果不确定则使用“*”代表任意时间 crontab 定时任务的最小有效时间是分钟最大有效时间是月 在定义时间时日期和星期最好不要在一条定时任务中出现因为它们都以天为单位非常容易让管理员混淆 在定时任务中不管是直接写命令还是在脚本中写命令最好都使用绝对路径。有时使用相对路径的命令会报错
拓展 */2 * * * * /usr/bin/touch /data/date \%F
*/2 * * * * /usr/bin/touch /data/date %F //上下两行文件格式中上面那行可以被执行但下面那行不能被执行 原因上下两行的区别是上面那行在“%”前添加了转义符“\” cron任务中不建议使用%它有特殊用途它表示换行的特殊意义且第一个%后的所有字符串会被将成当作命令的标准输入如果在命令中要使用%则需要用 \ 转义 注意将%放置于单引号中是不支持的 六、总结
五大性能
CPUtop、w、vmstat内存free、top、vmstat磁盘剩余df硬盘读写性能iostat网络带宽iftop
如何优化系统
关闭不必要的开机自启动程序禁止使用超级管理员用户使用国内的yum源内核调优开启路由转发功能、增加tcp链接数关闭核心防护selinux